我需要一些操作文本文件的指导,这是diff的结果。我只希望在>之后列出那些结果分隔符(它们是文件名)然后我将添加一个文件名的路径以便进一步工作。 我不处理大文件。 我希望能够做到这一切。
基本上我想采取类似这样的东西
96a97,98 > SCR-33333.sql > SCR-33333-WEB.sql
并创建一个类似
的动作cp /add/this/path/SCR-33333.sql /to/somewhere/else
任何人都可以给我一个我可以使用的快速示例吗?
答案 0 :(得分:2)
嗯,你可以试试这个,记住它只有在文件名不包含空格时才有用......
diff this that | awk '/^>/{print "/add/this/path/" $2}' | xargs -i cp {} /to/somewhere/else
(注意:这是一个单行命令。忽略由Web浏览器引起的包装。)
答案 1 :(得分:1)
grep ">" dummy.txt | cut -f 2 -d ' ' | xargs -I{} cp /add/this/path/{} somewhere
其中'dummy.txt'是您的差异文件。