如何在bash文件夹中的每个文件的开头添加一个string?

如何在bash文件夹中的每个文件的开头添加一个string?,第1张

概述如何在bash文件夹中的每个文件的开头添加一个string?

我希望能够在文件夹中的每个文本文件的开头添加一个string。 我怎样才能在linux上使用bash来做到这一点?

如何parsingwindows的Python文件的Python?

如何以编程方式设置文件的修改时间?

Emacs阅读大文件〜14GB

文件创build时间的准确度是多less?

我怎样才能得到使用Ruby的目录中最后创build的文件的path?

这将做到这一点。 如果你对每个文件做同样的文字,你可以使它更有效率。

for f in *; do echo "whatever" > tmpfile cat $f >> tmpfile mv tmpfile $f done

你可以这样做,没有一个循环和cat

sed -i '1i whatever' *

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

或者使用awk

awk 'FNR==1{$0="whatevern"$0;}{print $0>filename}' *

而且你也可以使用sed在1单个命令中执行此 *** 作

for f in *; do sed -i.bak '1i foo-bar ' ${f} done

这应该做的伎俩。

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

如果你的文件非常大,我不会推荐这样做。

你也可以这样做:

for f in *; do cat <(echo "someline") $f > tempfile mv tempfile $f done

这和第一篇文章没什么太大的区别,但是它展示了如何将“echo”语句的输出作为一个文件来处理,而不需要创建一个临时文件来存储这个值。

如果你喜欢,你可以使用ed命令来完成没有临时文件的 *** 作:

for file in *; do (test ! -f "${file}" || test ! -w "${file}") && continue # sort out non-files and non-writable files if test -s "${file}" && ! grep -Iqs '.*' "${file}"; then continue; fi # sort out binary files printf 'n%snn' "file: ${file}" # cf. http://wiki.bash-Hackers.org/howto/edit-ed printf '%sn' H 0a "foobar" . ',p' q | ed -s "${file}" # dry run (just prints to stdout) #printf '%sn' H 0a "foobar" . wq | ed -s "${file}" # in-place file edit without any backup done | less

这是我制定的最简单的方法。

sed -i '1s/^/Text添加新filen/' /file/to/change

总结

以上是内存溢出为你收集整理的如何在bash文件夹中的每个文件的开头添加一个string?全部内容,希望文章能够帮你解决如何在bash文件夹中的每个文件的开头添加一个string?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1155009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存