0

私は 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

123その位置にあるand which mayまたは他の数字を削除し5345667たいので、間の文字列を削除したい . (5 回目の出現) と . (6 番目のオカレンス) をファイル名に含めます。

4

2 に答える 2

1

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-6 番目のフィールドを除くすべてのフィールドを提供します。

于 2013-03-15T03:35:49.263 に答える
0

入力.txt

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

指示

awk -F "." '{ $6=""; print $0 }' Input.txt | sed -e 's/ /\./g' -e 's/\.\./\./g'

出力

AB.TEXT.OMN.BUFFER.INSERT.20130315.CSV   
AB.TEXT.OMN.BUFFER.APPEND.20130315.CSV
于 2013-03-15T06:36:49.887 に答える