我是unix新手(使用Mac OS X終端),並試圖通過在文件名中間添加一些文本來重命名某些文件。對於./temp文件夾中的所有文件,我想用dr_ic0004_DMN
替換從dr_ic0004
開始的文件名。多文件重命名unix
例如 dr_0004_tstat1.txt
和dr_0004_tstat2.txt
分別 dr_0004_DMN_tstat1.txt
和dr_0004_DMN_tstat2.txt
。
我是unix新手(使用Mac OS X終端),並試圖通過在文件名中間添加一些文本來重命名某些文件。對於./temp文件夾中的所有文件,我想用dr_ic0004_DMN
替換從dr_ic0004
開始的文件名。多文件重命名unix
例如 dr_0004_tstat1.txt
和dr_0004_tstat2.txt
分別 dr_0004_DMN_tstat1.txt
和dr_0004_DMN_tstat2.txt
。
假設您有dr_ic0004foo
,dr_ic0004bar
和dr_ic0004baz
。看到他們,你會怎麼做:
ls dr_ic0004*
到變量部分(foo
,bar
和baz
),你可以通過運行列表隔離的sed:
ls dr_ic0004*|sed 's/^dr_ic0004//'
要重命名一個文件你將使用mv
:
mv dr_ic0004foo dr_ic0004_DMNfoo
並遍歷一個列表,你可以使用一個for
循環:
for x in foo bar baz; do echo $x ; done
把它們放在一起,你會得到:
for x in `ls dr_ic0004*|sed 's/^dr_ic0004//'`; do mv dr_ic0004$x dr_ic0004_DMN$x; done
for filename in dr_0004*
do
mv "$filename" dr_0004_DMN"${filename#dr_0004}"
done
的[重命名Unix的多個文件]可能重複(http://stackoverflow.com/questions/1086502/rename -multiple-files-in-unix) –
你需要一個for來捕獲這個名字,然後你需要用sed或gawk或者其他東西來處理這個名字來創建這個新名字。鍵入man sed來查找它的語法。 – Spidey
歡迎來到StackOverflow!我們很樂意提供幫助。你有什麼嘗試? – ghoti