自动将可执行行附加到脚本文件

时间:2010-02-23 04:53:01

标签: ruby scripting executable

我的托管公司要求我将#!/usr/local/bin/ruby放在每个RB文件的顶部。是否有一种简单的方法可以递归地使用sed或者可以将其附加到每个rb文件的顶部?

1 个答案:

答案 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