階層下の.git以外のCソースとヘッダ群
find . -name '.git' -prune -o -type f -name '*.c' -o -name '*.h'
※ここでは何故か最後に-printをつけると.hしか表示されず、.cのみ表示される
が、.gitが表示されてしまう。(唯一のディレクトリ)
最後のprintを除くと何故か.gitだけは表示される(その下の.git下のディレクトリ群は表示されないが)
find . -name '.git' -prune -o -type f \( -name '*.c' -o -name '*.h' \) -print
とするとうまくいった。
使用例:
#!/bin/bashfor file in `find . -name "*.c* *.h" -type f`
do
echo $file
expand -t8 ${file} > ${file}.$$ && mv -f ${file}.$$ ${file} || rm -f ${file}.$$
done
回数ループをシェルスクリプトで
seq 1 9
for i in `seq 1 9`
do
echo $i
done
階層下ファイルの一括置換
xargs sed -i 's/BEFOR_STRING/REPLACE_STRING/g'これを応用し、
find . -name '.git' -prune -o -type f \( -name '*.c' -o -name '*.h' \) -print | xargs sed -i 's/\r$//'
として、改行コードをWinからUnixへ変える
0 件のコメント:
コメントを投稿