1

我需要一些指导来操作作为差异结果的文本文件。我只希望在 > 分隔符(它们是文件名)之后列出那些结果,然后我将添加文件名的路径以供进一步工作。我不是在处理大文件。我希望一切都到位。

本质上我想采取这样的事情

96a97,98
> SCR-33333.sql
> SCR-33333-WEB.sql

并创建一个动作

cp /add/this/path/SCR-33333.sql /to/somewhere/else

谁能给我一个我可以运行的快速示例?

4

2 回答 2

2

好吧,你可以试试这个,记住它只有在文件名不包含空格的情况下才有效......

diff this that | awk '/^>/{print "/add/this/path/" $2}' | xargs -i cp {} /to/somewhere/else

(注意:这是一个单行命令。忽略由 Web 浏览器引起的换行。)

于 2013-05-03T15:34:28.417 回答
1
grep ">" dummy.txt | cut -f 2 -d ' ' | xargs -I{} cp /add/this/path/{} somewhere

其中 'dummy.txt' 是您的差异文件。

于 2013-05-03T15:34:01.773 回答