我希望能够在文件夹中的每个文本文件的开头预先添加一个字符串。如何在Linux上使用bash完成此操作?
发布于 2011-04-27 05:31:58
这将会做到这一点。如果您对每个文件执行相同的文本,则可以使其效率更高。
for f in *; do
echo "whatever" > tmpfile
cat $f >> tmpfile
mv tmpfile $f
done
发布于 2011-04-27 08:06:36
您可以像这样做,不需要循环和cat
sed -i '1i whatever' *
如果要备份文件,请使用-i.bak
或者使用awk
awk 'FNR==1{$0="whatever\n"$0;}{print $0>FILENAME}' *
发布于 2011-04-27 05:32:51
这应该能起到作用。
FOLDER='path/to/your/folder'
TEXT='Text to prepend'
cd $FOLDER
for i in `ls -1 $FOLDER`; do
CONTENTS=`cat $i`
echo $TEXT > $i # use echo -n if you want the append to be on the same line
echo $CONTENTS >> $i
done
但是,如果您的文件非常大,我不建议这样做。
https://stackoverflow.com/questions/5796615
复制相似问题