スクリプトを動的に作る
$ cat <<'EOF' >/tmp/hogehoge.rb xxx EOFあまり使わないけど、docker で自動的に環境構築するときとか、シェルからはできないような操作をする際に使ったり。
echo で色つけて出力
色・装飾つき echo コマンドメーカー
sed で置換
$ sed -i -e 's;fuga;bar;' \ -e '/^hoge/s/=false/=true/' \ /tmp/hoge.confsed の正規表現で気を付けるのは、
-e 's;h+;HOGE;'
と書いてしまうとダメ。拡張正規表現を使うためには、対象のメタキャラクタをエスケープする。
-e 's;h\+;HOGE;'
という感じ。よくハマる。
grep で抽出
$ echo "hoge=fuga" | grep -o "fuga" fugaこれでもいいのだが、Perl の正規表現を使うようにして
$ echo "hoge=fuga" | grep -Po "=\K(fuga)"こんな感じで使うほうが好き。
大量のファイルに何かをする
$ find <検索条件> -print0 | xargs -0i sh -c "echo {}; basename {}"ポイントとしては、
-print0
で null 区切りにすること。こうすることで、ファイルパスに含まれる空白などが悪さをしなくなり
xargs
が正しく処理できる。なお、
-exec
は制限あるので極力使わない。
ls の日付フォーマットを変更
$ ls -l --time-style=+%Y-%m-%d\ %H:%M:%S加工するときとかに使う。
バイナリファイルのダンプ
$ od -tx1z <ファイルパス>ファイルの中に制御文字入ってないかとか見るときに使ったり。
指定サイズのデータ作成
ランダムデータ
$ dd if=/dev/urandom of=random_data bs=1073741824 count=4ddは2GB以上のブロックサイズを指定できないため、4GBを作る場合は1GBx4等で対処する
固定データ
$ printf "%01048576d" > 1MB.txt0で埋まったファイルが作られる。
あるファイルが、どの rpm によりインストールされたか調べる
$ rpm -qf <ファイルパス>
rpm の中身を見る
未インストールの rpm
$ rpm -pql <rpmファイルパス>
インストール済みの rpm
$ rpm -ql <rpm名>
0 件のコメント:
コメントを投稿