首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将字符串添加到bash文件夹中每个文件的开头?

如何将字符串添加到bash文件夹中每个文件的开头?
EN

Stack Overflow用户
提问于 2011-04-27 05:21:28
回答 8查看 18K关注 0票数 18

我希望能够在文件夹中的每个文本文件的开头预先添加一个字符串。如何在Linux上使用bash完成此操作?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-04-27 05:31:58

这将会做到这一点。如果您对每个文件执行相同的文本,则可以使其效率更高。

代码语言:javascript
复制
for f in *; do 
  echo "whatever" > tmpfile
  cat $f >> tmpfile
  mv tmpfile $f
done
票数 30
EN

Stack Overflow用户

发布于 2011-04-27 08:06:36

您可以像这样做,不需要循环和cat

代码语言:javascript
复制
sed -i '1i whatever' *

如果要备份文件,请使用-i.bak

或者使用awk

代码语言:javascript
复制
awk 'FNR==1{$0="whatever\n"$0;}{print $0>FILENAME}' *
票数 22
EN

Stack Overflow用户

发布于 2011-04-27 05:32:51

这应该能起到作用。

代码语言:javascript
复制
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

但是,如果您的文件非常大,我不建议这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5796615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档