【发布时间】:2011-12-10 09:09:03
【问题描述】:
使用以下内容,我将文件名添加到每行的前面并将输出发送到单个文件。
ls | while read file; do sed -e "s/^/$file/g" $file > out; done
我想执行相同的 sed 替换,但使用 find 和 exec 或 xargs 命令 -
find . -type f -exec sed "s/^/{}/g" {} > out +
但我得到一个错误 -
发现:-exec ... + 仅支持一个 {} 实例
输入文件是这样的-
文件A.txt
A1
A2
文件B.txt
B1
B2
想要的输出
fileA.txt A1
fileA.txt A2
fileB.txt B1
fileB.txt B2
我知道如何使用 awk 执行此操作,但我想使用 sed、find 和 exec 或 xargs 执行此操作。
【问题讨论】: