我有一個文本文件,其中包含我想要移動的文件位置列表,首先到臨時目錄,在源目錄中執行一些操作,然後將文件移回到原始位置。xargs是解決這個問題的方法嗎?
列表文件是由產生,比如格式,find命令,如:
~/$ find . -name "*.[ch]" > ~/tmp/my_file_list.txt
目前我使用sed
來操縱屏幕上的文件,剪切和粘貼其輸出發出命令。我覺得這是反感,但它的工作原理:
~/$ sed -r 's_.+_cp & ~/tmp/_' ~/tmp/my_file_list.txt
(複製和粘貼輸出,然後把文件備份)
~/$ sed -r 's_.+/(.+)_cp ~/tmp/\1 &_' ~/tmp/my_file_list.txt
(複製粘貼... ... WINCE)
我怎麼能做到上述兩行,而沒有複製和粘貼......我在想,xargs可能持有我渴望的解決方案。
[編輯] 爲了處理空間:
~/$ sed -r 's_.+_cp "&" ~/tmp/_' ~/tmp/my_file_list.txt
和
~/$ sed -r 's_.+/(.+)_cp "~/tmp/\1" "&"_' ~/tmp/my_file_list.txt
文件名是否包含空格? –
不,但你指出一個普遍的案例缺陷......將被編輯。 – Jamie