相关疑难解决方法(0)

使用find和sed将文件名添加到文件的开头

使用以下内容我将文件名添加到每行的前面,并将输出发送到单个文件.

ls | while read file; do sed -e "s/^/$file/g" $file > out; done
Run Code Online (Sandbox Code Playgroud)

我想执行相同的sed替换,但使用findexecxargs 命令 -

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来做.

shell sed find

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

find ×1

sed ×1

shell ×1