使用以下内容我将文件名添加到每行的前面,并将输出发送到单个文件.
ls | while read file; do sed -e "s/^/$file/g" $file > out; done
Run Code Online (Sandbox Code Playgroud)
我想执行相同的sed替换,但使用find和exec或xargs 命令 -
find . -type f -exec sed "s/^/{}/g" {} > out +
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误 -
find:-exec ... +仅支持{}的一个实例
输入文件是这样的 -
fileA.txt
A1
A2
Run Code Online (Sandbox Code Playgroud)
fileB.txt
B1
B2
Run Code Online (Sandbox Code Playgroud)
期望的输出
fileA.txt A1
fileA.txt A2
fileB.txt B1
fileB.txt B2
Run Code Online (Sandbox Code Playgroud)
我知道如何用awk做这个,但我想用sed,find和exec或xargs来做.