我有多个文件,它们的名称如下 --> 100.txt、101.txt、102.txt等。
这些文件位于一个目录中。对于每个文件,我需要将文件名中扩展名前面的数字添加到文件中的每一行。
因此,如果100.txt文件的内容如下:
我需要输出为:
我需要使用
我的当前代码看起来很丑,也不够简洁:
这样做可能吗?
这些文件位于一个目录中。对于每个文件,我需要将文件名中扩展名前面的数字添加到文件中的每一行。
因此,如果100.txt文件的内容如下:
blahblahblah
blahblahblah
...
我需要输出为:
blahblahblah 100
blahblahblah 100
...
我需要使用
sed
来完成这个任务。我的当前代码看起来很丑,也不够简洁:
dir=$1
for file in $dir/*
do
base=$(basename $file)
filename="${base%.*}"
sed "s/$/ $filename/" $file
done
这样做可能吗?
find $dir/* -exec sed ... {} \;
find
一起使用”。你想用find
的特别原因是什么? - Ignacio Vazquez-Abrams