シェルで便利だったコマンド&オプションまとめ
随時追加していく。
# grepでOR検索 cat file.txt | grep -e hoge -e fuga # grepで前後行も出力 # -A -> 後の行数 # -B -> 前の行数 cat file.txt | grep -A 10 -B 5 hoge -e fuga # xargsでパイプで渡された値を任意の場所に突っ込む cat file.txt | grep "hoge" | awk '{print $1}' | xargs -IXXX grep XXX file2.txt # tail -F をリアルタイムで grep する tail -f production.log | grep --line-buffered "hogehoge" # gz形式のファイルを解答せずに中身を見る gzip -dc production.log-yyyymmdd.gz | less # 全検索 sudo find / -name filename # <() コマンド結果をファイルのようにして入力値として与える diff <(seq 1 3) <(seq 2 4) # trで文字列置換(改行コードも扱える) cat file.txt | tr 'A' 'B' # AをBにする cat file.txt | tr -d '\n' # 改行を消す cat file.txt | tr -dc 1 # => 1以外を消す # 指定文字数で改行させなおす # 一度改行消して、60文字区切りで改行させる cat file.txt | tr -d '\n' | fold -w60 # ImageMagickで画像変換 convert test.png test.jpg # フォーマット変換 convert -geometry 50% testimg.png testimg.50p.png # サムネイル convert -geometry 100x100 testimg.png testimg.50p.png # サムネイル convert -rotate 90 server.jpg server_90.jpg # 時計回りに90度回転 # xargsで複数のコマンドを実行 # (shコマンドの中で複数のコマンドを実行させて実現する) seq 10 | xargs -I@ sh -c 'echo @; sleep 1' # 乱数を出力する # /dev/urandomは乱数を出す / tr-dcで0-9以外を消す cat /dev/urandom | gtr -dc 0-9 | fold -w 10 | head # テキストブラウザ w3m http://google.co.jp w3m http://google.co.jp --dump # 表示出力 # bcコマンド 電卓 # オプション obase(output10進数) # オプション ibase(input16進数) echo 'obase=10;ibase=16; F + F' | bc # ファイルに差分があるかどうかだけ返す diff -q a.txt b.txt ls | xargs -IX diff -q X ~/app2/X # グローバルIDを知る curl ifconfig.io # 列指定でsort sort -k2 # 2列目でソート # 無限ループ while true do echo hogehoge done # 1行無限ループ while :; do ps aux | grep unicorn; sleep 1; done # ディレクトリ配下のファイルの拡張子を一斉置換 for filename in *.txt; do mv $filename ${filename%.txt}.csv; done