cp 使用 awked 行

发布于 2024-10-15 15:38:33 字数 645 浏览 6 评论 0原文

var=$(pwd);diff -x .DS* -r aa bb | cut -f3,4 -d' '| sed 's/\://' | awk -v "var=$var" 'BEGIN{OFS="/"} {split($2,a,"-"); a[1]=toupper(a[1]) if ($1 ~/^bb/) {print var, $1, $2 " " var, "aa"} 
else {print var, $1, $2 " " var, "bb"}}' | cp -r $(cut -f1 -d" ") $(cut -f2 -d" ")

这会比较两个目录并返回源地址和目标地址以进行复制。预期的结果是两个文件夹最终都包含相同的文件和文件夹。

cp-cut 部分不起作用。手动执行 cp 会产生正确的结果。剪切操作的输出看起来不错。

省略 cp-cut 子句,脚本会生成如下行

/Users/tom/Desktop/aa/AWK/awk-parse-email-add-or.textClipping /Users/tom/Desktop/bb

所以这是原始材料 - 源文件和目标目录 - 将 awk 剪辑复制到文件夹 bb。

有好心人可以建议我哪里出错了吗?

汤姆

var=$(pwd);diff -x .DS* -r aa bb | cut -f3,4 -d' '| sed 's/\://' | awk -v "var=$var" 'BEGIN{OFS="/"} {split($2,a,"-"); a[1]=toupper(a[1]) if ($1 ~/^bb/) {print var, $1, $2 " " var, "aa"} 
else {print var, $1, $2 " " var, "bb"}}' | cp -r $(cut -f1 -d" ") $(cut -f2 -d" ")

This compares two directories and returns source and target addresses for copying purposes. The intended result is that both folders end up with the same files and folders inside them.

The cp-cut part doesn't work. Doing the cp manually produces the right result. The cut operations output seems OK.

Leaving off the cp-cut clause, the script produces lines like this

/Users/tom/Desktop/aa/AWK/awk-parse-email-add-or.textClipping /Users/tom/Desktop/bb

So this is the raw material - source file and target directory - to copy the awk clipping to the folder bb.

Could some kind person suggest where I am going wrong ?

Tom

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迟月 2024-10-22 15:38:33

您正在使用命令替换 $(cut -f1 -d" ")$(cut -f2 -d" "),但这些命令无效,因为cut 需要输入。

尝试使用 xargs 代替。将最后一个管道更改为:

| xargs -n 2 cp -r 

You're using command substitution, $(cut -f1 -d" ") and $(cut -f2 -d" "), but these commands are not valid because cut requires input.

Try using xargs instead. Change your last pipe to:

| xargs -n 2 cp -r 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文