お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。
投稿日:
OS::Linux::コマンド

man 5 crontabで使い方見るのが一番早い

各列の意味合い

  • 2分おきのように範囲指定する場合は*/2のように表現できる
    • 例、0 - 30分の間を2分おきなら0-30/2
.---------------- minute (0 - 59)
|  .------------- hour (0 - 23)
|  |  .---------- day of month (1 - 31)
|  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
|  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
|  |  |  |  |
m h dom mon dow usercommand
17 * * * *  root  cd / && run-parts --report /etc/cron.hourly
25 6 * * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * *  root  test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
投稿日:
OS::Linux::コマンド

入力された文字列を標準出力するコマンド。ヒアドキュメントの合わせ技でファイル作成が可能

ファイル作成

cat <<EOF > foo.txt
foo
bar
baz
EOF
  • 変数展開を防ぐ場合はヒアドキュメントをクオートで囲む
cat <<'EOF' > foo.txt
foo
bar
baz
EOF

ファイル追記

  • 追記する場合はteeと組み合わせる
cat <<EOF | tee -a foo.txt
hoge
piyo
fuga
EOF
投稿日:
OS::Linux::コマンド

標準出力をパースして標準出力するコマンド。Perlが使える環境であればPerlでの代替も可能

特定列を取得

  • 例としてps auxの実行パスの取得
    • ps aux | awk '{print $11}'

区切り文字を変える

  • 標準では半角スペース
  • カンマにする例
    • awk -F ","

正規表現に一致した次の行を取得

  • awk "/any regexp/{getline; print}"

正規表現の捕獲式を捕獲する

  • awk '{print gensub(/Foo: (.+)/, "\1", "g")}')