我需要一些指導來操縱差異結果的文本文件。我只想要在>分隔符(它們是文件名)之後列出的結果,然後我將爲文件名添加一個路徑以供進一步工作。 我不處理大文件。 我希望能做到這一切。操作文件 - bash
基本上我想利用這樣的
96a97,98 > SCR-33333.sql > SCR-33333-WEB.sql
和創建像
cp /add/this/path/SCR-33333.sql /to/somewhere/else
動作任何人都可以請給我一個簡單的例子,我可以運行?
我需要一些指導來操縱差異結果的文本文件。我只想要在>分隔符(它們是文件名)之後列出的結果,然後我將爲文件名添加一個路徑以供進一步工作。 我不處理大文件。 我希望能做到這一切。操作文件 - bash
基本上我想利用這樣的
96a97,98 > SCR-33333.sql > SCR-33333-WEB.sql
和創建像
cp /add/this/path/SCR-33333.sql /to/somewhere/else
動作任何人都可以請給我一個簡單的例子,我可以運行?
grep ">" dummy.txt | cut -f 2 -d ' ' | xargs -I{} cp /add/this/path/{} somewhere
其中'dummy.txt'是您的差異文件。
好了,你可以試試這個,銘記,如果文件名不包含空格它只會工作...
diff this that | awk '/^>/{print "/add/this/path/" $2}' | xargs -i cp {} /to/somewhere/else
(注:這是一個班輪命令忽略)
我不認爲'xargs'的特定調用會去做所期望的... – twalberg 2013-05-03 16:05:10
OOPS。感謝您指出了這一點。並糾正。 – 2013-05-03 16:10:35
對剪切部分使用'cut -c3-'會更好一些 – Kevin 2013-05-03 16:29:57
Sashang的例子完美地工作。非常感謝! – MoBarger 2013-05-06 16:07:18