備份副本,我所擁有的文件:x0001_test.xml z0054_test.xml k5487_test.xml
....做的幾個文件匹配模式
我想救他們做這樣的事情:cp *_test.xml ${BEGINNING}_test.xml.SAVE
。
在bash腳本中是否有一種方法來爲每個文件存儲*
的內容以重新注入它?或者我應該使用循環?
備份副本,我所擁有的文件:x0001_test.xml z0054_test.xml k5487_test.xml
....做的幾個文件匹配模式
我想救他們做這樣的事情:cp *_test.xml ${BEGINNING}_test.xml.SAVE
。
在bash腳本中是否有一種方法來爲每個文件存儲*
的內容以重新注入它?或者我應該使用循環?
一個循環可能足夠小,不需要單獨的單行命令。你並不需要保存的文件名的部分因爲你剛剛增加.SAVE
到整個事情:
for fspec in *_test.xml; do
cp "${fspec}" "${fspec}.SAVE"
done
,並在任何情況下,你可以在一行做,如果你真想:
for fspec in *_test.xml; do cp "${fspec}" "${fspec}.SAVE" ; done
@paxdiablo給你最直接的答案。另一對夫婦的選擇
printf "%s\0" *_test.xml | xargs -0 -L1 -I{} cp {} {}.SAVE
find . -name \*_test.xml -exec cp {} {}.SAVE \;
這裏假設你有GNU xargs的,並且find命令可能會發現在子目錄中搜索匹配的文件。
好的,謝謝paxdiablo! – Maxbester