Bシェル系、Cシェルは知らん。
コマンド実行時の標準出力と標準エラー出力は、いずれもディスプレイ(コンソール画面)。出力先を切り替えるには > を使う
$ command 1>/dev/null 2>&1
「commandを実行、1(標準出力)の出力先を/dev/nullに、2(エラー出力)の出力先を1と同じに」という意味。
間違いの例として以下のようなものがある
$ command 2>&1 >/dev/null
これは「commandを実行、2の出力先を1(シェルの画面)と同じに、1の出力先を/dev/nullに」という意味になる。
1と2を変数だと思えば分かりやすい。
$ command 1>/dev/null 2>&1 #リダイレクション処理 # var _1 = "コンソール画面" # var _2 = "コンソール画面" # _1 = "/dev/null" # _2 = _1 #結果 # _1 => /dev/null # _2 => /dev/null
ImageMagicでフォルダ内の画像を全部処理
for i in *; do convert ${i} -resize x130 "x_${i}"; done
空白の入ったファイル名も上手い事やってくれるようにする
find * -maxdepth 0 -print0 | xargs -0 -i convert {} -resize x130 "x_{}" # 引数の場所指定
指定の文字列を持つファイルを探す
grep Hogehoge -nrH ./lib
.svnフォルダを削除
find . -name ".svn" -exec rm -rf {} \;
find . -name ".svn" | xargs rm -rf
svn管理下にないファイルをファイルをまとめてadd
for i in `svn status | grep '^\?' | awk '{print $2}'`; do svn add $i; done
たぶんbashのスクリプト
read line echo $line
指定のファイルだけ更新する
rsync -a --include=*/ --include-from=list.txt --exclude=* hoge@192.168.1.2:~/syncdir/ ~/syncdir/
更新対象のファイル一覧は –include-from オプションで指定する。–includeオプションで指定してもいいが、こういうケースでは対象が多くあると思われるのでファイルに記述するのが楽だろう。