※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

shell script 知りたいことを書いておく

カレントディレクトリのファイルを列挙して指定ディレクトリ以下へまとめて移動

カレント以下のファイルのみ列挙
$ find ./* -type f


echo * でカレントのファイルとディレクトリ列挙らしい

@ubuntu-vm:~/shell_script$ echo *
filecode.sh filecode_tmp.sh nkf_lu.sh trash



カレント以下のファイルとディレクトリを列挙
  • type f をつければファイルのみ列挙
@ubuntu-vm:~/shell_script$ find . -name "*" -print
.
./trash
./trash/result.log
./trash/test.sh
./trash/param.sh
./nkf_lu.sh
./nkf_lu_lw.sh


ファイル・ディレクトリリストについて改行を除く、スペース区切りでつなげる
@ubuntu-vm:~/shell_script$ find . -name "*" -print0 | xargs -0
. ./trash ./trash/result.log ./trash/test.sh ./trash/param.sh ./trash/result2.log ./nkf_lu.sh ./nkf_lu_lw.sh ./filecode.sh ./filecode_tmp.sh


.cgiファイルの改行コード変換

@ubuntu-vm:/mnt/hgfs/home_hoge/# find . -name "*.cgi" -type f -print0 | xargs -0 nkf -Lu -d --overwrite
UTF-8出力は-wをつける

ファイルの自動判別結果表示は nkf -g filename


ファイル所有者とグループの一括変更
chown -R user:group *




文字コード変換コマンドnkfの使い方まとめ linux
http://it.kndb.jp/entry/show/id/744



Linuxで文字コード一括変換(2)
http://www.eitaro-saba.com/001/linux2.html
実行したいフォルダに移動後、
find . -type f -regex ".*\.\(php\|tpl\)$" -print0 | xargs -0 nkf -w -Lu --overwrite
これで指定した拡張子のファイル全てUTF8に変換、改行コードがLFになります。拡張子を増やしたい場合は、\(php\|tpl\|xxx\) のように増やしていけます。