将文件名添加为文本文件中的标题

时间:2014-03-12 13:35:48

标签: bash shell

是否有一种简单的方法可以将文件名添加为该文件中的标题?

例如

file.txt包含:

blablabla
blablabla

期望的输出:

file.txt
blablabla
blablabla

4 个答案:

答案 0 :(得分:2)

(echo filename; cat filename) > filename.new
mv filename.new filename

答案 1 :(得分:2)

这是一个单线程,即使使用大文件也可以快速运行,并且很容易用于整个目录的自动化过程。

x="$(basename test.txt)" && sed -i "1i$x" $x

您可以直接使用文件名(在本例中为text.txt)或在循环中使用变量来浏览整个目录。

答案 2 :(得分:0)

您也可以使用sed

sed -i "1iyourfile.txt" yourfile.txt

示例:

$ F="yourfile.txt"
$ sed -i "1i$F" $F

答案 3 :(得分:0)

如果你真的想要单行......

perl -pi -E 'say "file.txt" if $.==1' file.txt