автоматически добавлять исполняемую строку в файлы скриптов - PullRequest
0 голосов
/ 23 февраля 2010

Моя хостинговая компания требует от меня ставить #!/usr/local/bin/ruby вверху каждого файла RB. Есть ли простой способ использовать sed рекурсивно или что-то, что может пройти и добавить это в начало каждого файла rb?

1 Ответ

2 голосов
/ 23 февраля 2010

AWK

$ awk 'NR==1{$0="#!/usr/local/bin/ruby\n"$0 }1' file > temp; mv temp file;

сед

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
...