我有一个目录和文件看起来像这样
/Folder/A/12 3ER This.docx
/Folder/A/12 3ER Namespace.docx
/Folder/A/12 QW Blah.docx
/Folder/A/12 QW BlahBlah.docx
/Folder/B/12 3ER Annoying.docx
/Folder/B/12 3ER Were.docx
/Folder/B/12 QW Stack.docx
/Folder/B/12 QW Overlow.docx
...
我想将包含 3ER
的所有文件重命名为_My_
所以目录和文件看起来应该是
/Folder/A/12_My_This.docx
/Folder/A/12_My_Namespace.docx
/Folder/A/12 QW Blah.docx
/Folder/A/12 QW BlahBlah.docx
/Folder/B/12_My_Annoying.docx
/Folder/B/12_My_Were.docx
/Folder/B/12 QW Stack.docx
/Folder/B/12 QW Overlow.docx
...
如何使用Linux执行此操作?
答案 0 :(得分:1)
find . -name '* 3ER *' -print0 | while IFS= read -r -d '' filename; do
mv -- "$filename" "${filename// 3ER /_My_}"
done