find . -name \*.py | xargs sed -i '1a Line of text here'
Run Code Online (Sandbox Code Playgroud)
编辑:从tchrist的评论,处理带空格的文件名.
假设你有GNU find和xargs(你在问题上指定了linux标签)
find . -name \*.py -print0 | xargs -0 sed -i '1a Line of text here'
Run Code Online (Sandbox Code Playgroud)
没有GNU工具,你可以这样做:
while IFS= read -r filename; do
{ echo "new line"; cat "$filename"; } > tmpfile && mv tmpfile "$filename"
done < <(find . -name \*.py -print)
Run Code Online (Sandbox Code Playgroud)
for a in `find . -name '*.py'` ; do cp "$a" "$a.cp" ; echo "Added line" > "$a" ; cat "$a.cp" >> "$a" ; rm "$a.cp" ; done
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/perl
use Tie::File;
for (@ARGV) {
tie my @array, 'Tie::File', $_ or die $!;
unshift @array, "A new line";
}
Run Code Online (Sandbox Code Playgroud)
要.py递归处理目录中的所有文件,请在 shell 中运行以下命令:
find . -name '*.py' | xargs perl script.pl
| 归档时间: |
|
| 查看次数: |
1088 次 |
| 最近记录: |