我是Linux新手,必须删除文件名中的特定数字字符串。
以下是我的文件名:

AB.TEXT.OMN.BUFFER.INSERT.123.20130315.CSV
AB.TEXT.OMN.BUFFER.APPEND.5345667.20130315.CSV

我需要输出如下:
AB.TEXT.OMN.BUFFER.INSERT.20130315.CSV
AB.TEXT.OMN.BUFFER.APPEND.20130315.CSV

我想删除1235345667之间的字符串,或者在那个位置出现的其他数字。(第5次出现)和。(第6次出现)在文件名中。

最佳答案

cut可以做到:

pax> echo 'AB.TEXT.OMN.BUFFER.INSERT.123.20130315.CSV' | cut -d. -f1-5,7-
AB.TEXT.OMN.BUFFER.INSERT.20130315.CSV

pax> echo 'AB.TEXT.OMN.BUFFER.APPEND.5345667.20130315.CSV' | cut -d. -f1-5,7-
AB.TEXT.OMN.BUFFER.APPEND.20130315.CSV

-d.只需将分隔符设置为.-f1-5,7-将为您提供除第六个字段之外的所有字段。

关于linux - 删除文件名中两次出现字符串之间的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15424197/

10-11 07:11