3

我想为 Unix 目录中的所有文件添加注释。如果我可以使用任何命令组合,请提出解决方案。

4

4 回答 4

6

使用findsed

$ find . -maxdepth 1 -type f -exec sed -i '1i #comment' {} \;

这会将行添加#comment到当前目录中所有文件的顶部

于 2013-01-28T15:03:31.900 回答
3

尝试使用简单的shell连接来做到这一点:

for i in *; do
    { echo '# this is a comment'; cat "$i"; } > /tmp/_$$file &&
    mv /tmp/_$$file "$i"
done
于 2013-01-28T15:00:37.257 回答
1

为了好玩,请尝试使用执行此操作:

echo $'1i\n# comment\n.\nw\nq' | ed -s file.txt 

Here-doc版本:

ed -s file.txt <<EOF
1i
# comment
.
w
q
EOF
于 2013-01-28T19:14:58.787 回答
1

如果您想为所有带有扩展名的文件添加注释(例如“.rb”):

find . -maxdepth 1 -type f -name "*.rb" -exec sed -i '1i #comment' {} \;

和递归:

find . -type f -name "*.rb" -exec sed -i '1i #comment' {} \;
于 2015-10-21T11:12:11.570 回答