我的托管公司要求我将#!/usr/local/bin/ruby
放在每个RB文件的顶部。是否有一种简单的方法可以递归地使用sed或者可以将其附加到每个rb文件的顶部?
答案 0 :(得分:2)
AWK
$ awk 'NR==1{$0="#!/usr/local/bin/ruby\n"$0 }1' file > temp; mv temp file;
sed
sed -i.bak '1 i #!/usr/local/bin/ruby' file
以递归方式执行,您可以使用find
find /path -type f -iname "*.rb" | while read -r FILE
do
sed -i.bak '1 i #!/usr/local/bin/ruby' $FILE
# awk 'NR==1{$0="#!/usr/local/bin/ruby\n"$0 }1' >temp ; mv temp $FILe
done