gpt4 book ai didi

linux - 将行插入多个指定文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:45 27 4
gpt4 key购买 nike

我想在多个指定类型文件的开头插入一行,这些文件位于当前目录或子目录。

我知道用

find . -name "*.csv"

可以帮助我列出要用于插入的文件。

和使用

sed -i '1icolumn1,column2,column3' test.csv

可以用来在文件开头插入一行,

但现在我不知道如何将文件名从“find”命令传递到“sed”命令。

有人可以给我任何建议吗?

或者有更好的解决方案吗?

顺便说一句,是否可以在一行命令中执行此操作?

最佳答案

尝试使用 xargsfind 的输出和命令行参数传递给下一个命令,这里是 sed

find . -type f -name '*.csv' -print0 | xargs -0 sed -i '1icolumn1,column2,column3'

另一种选择是使用 find-exec 选项。

find . -type f -name '*.csv' -exec sed -i '1icolumn1,column2,column3' {} \;

注意:据观察,xargs 是更有效的方法,可以使用 -P 选项处理多个进程。

关于linux - 将行插入多个指定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19921915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com