MGS(マジ業務使いのシェルスクリプト)がまあまああるのでまとめる。いま思いついたものだけ書いてるが、思い出したら追記するかも。
説明 | コマンド |
---|---|
スペース埋め出力から特定列を抜き出す | | awk '{print $1}' |
先頭から特定の文字までのみ表示 | | cut -f 1 -d : |
先頭の x 文字だけ抜き出す | | awk '{print substr($0, 0, 30)}' |
x文字ごとに改行する | | fold -40 |
特定文字を改行に変える | | tr ':' '\n' |
以下各コマンドの使用例とコマンド
スペース埋め出力から特定列を抜き出す | awk '{ print $3 }
5 6 npmrc 14 8 tmux.conf 7 2 zsh/alias.zsh
↑こんな感じになってるとき、3列目だけ抜き出すには | awk '{ print $3 }
でいけます
git diff --numstat | awk '{print $3}'
先頭から特定の文字までのみ表示 | cut -f 1 -d :
article を含むラインから article_id を含むラインを除いて、ファイル一覧に変換する
rg article | rg -v 'article_id' | cut -f 1 -d : | sort | uniq
先頭の x 文字だけ抜き出す | awk '{print substr($0, 0, 30)}'
minify されたファイルのように1行が膨大なものがマッチしたときに先頭30文字だけ見るときとかに使う(たまにこういうシーンがある)
rg x | awk '{print substr($0, 0, 30)}'
x文字ごとに改行する | fold -40
minify されたファイル同士を diff 取るとき、折り返しておくとうまく diff を取れることがある(取れないこともある)
diff $(cat dist/main.js | fold -40) $(cat dist2/main.js | fold -40)
特定文字を改行に変える | tr ':' '\n'
$PATH が見やすくなる
echo $PATH | tr : \\n