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
和可5345667
或什麼都進來那個位置的其他號碼,所以我想刪除之間的字符串。 (第5次出現)和。 (第6次出現)的文件名。
感謝您的快速反應,其實我需要重命名所有網絡連接在一個dir中。如果你想重新命名文件,你應該看看'prename'(有時是'rename') - 它是爲了這個目的而設計的,給你充足的空間,你可以幫助我如何使用這個剪切命令 – Naga 2013-03-15 03:46:02
@Naga來重命名文件。正則表達式Perl的重新命名文件。看例如http://stackoverflow.com/questions/12292232/rename-batch-of-file-in-unix/12292263#12292263和http://stackoverflow.com/questions/10138322/script-to-change-basename -with-without-changing-extension-in-linux/10138364#10138364 – paxdiablo 2013-03-15 03:49:10
感謝您的建議,我創建了以下腳本來重命名文件。 #!/ bin/sh for i in'ls -a * .CSV' do echo「$ i」 newFileName = $(echo「$ i」| cut -d。-f1-5,7-) echo $ newFileName mv $ i $ newFileName done – Naga 2013-03-15 04:25:26