使用以下我將文件名添加到每行的前面並將輸出發送到單個文件。使用find和sed將文件名添加到文件的開頭
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 ... +
輸入文件是這樣的 -
fileA.txt
A1
A2
fileB.txt
B1
B2
所需的輸出
fileA.txt A1
fileA.txt A2
fileB.txt B1
fileB.txt B2
我知道如何使用awk做到這一點,但我想用sed,find和e來做xec或xargs。
正如我在這個問題中所說的,我知道如何用awk來做到這一點,但我想用sed來找到它。 – Bryan
看到我更新的答案,find,xargs和sed。 – Kent
謝謝,如果你有時間和興趣,你能否添加一些解釋性評論? – Bryan