お知らせ
現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
Proxy headerを設定しないとiOS Safari環境で上手くアクセスできないケースがあるのでやる設定
| Env | Ver |
|---|---|
| nginx | 1.19.8 |
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location @prox {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass https://example.com;
}
ls -l | xargs echoのようにして手前のコマンドの標準出力を渡すコマンド。そのコマンドの次に差し込まれる形になる
echo 'bbb' | xargs -I{} echo "aaa"{}
-I{}のように指定すると置換文字列を指定できるecho 'bbb' | xargs -I{} echo "aaa"{}{}{}
文字列を編集したりするのに大変便利なやつ。sedやawkの代わりに使える。構文はPerlそのものが使える。なにせPerlなので
-e
php -rやnode -eと同じ-n
$.で行番号、$_で行の文字列を取得できるwhile (<>)相当の処理-p
print $_相当の処理を実行する-l
$_)から改行文字を削除し出力に改行を追加する-a
awk相当の文字列分割処理を行う(autosplit mode with -n or -p)$Fに配列として入るので次のようにして取得できる
perl -ale 'print "$F[0] - $F[1]'$#Fを指定すると分割した個数が取れる-F/pattern/
-aでsplitするパターンを設定する-F,とするとCSVを分割できる-i[ext]
perl -i -pe 's/aaa/xxx/' foo.txt-i.bakのように指定するとバックアップファイルが作成される-ipeのようには使えない)変数を指定しない場合、基本的に$_として扱われる
print
print $_と同じ挙動をする$hoge =~ s/foo/bar/
/(.+)/; print $1
echo hoge.jpg | perl -ne '/(.+)./; print $1'$_
echo aaabbc | perl -ne 's/c/d/; print'の出力はaaabbdとなるEND{}
-n, -pを指定した場合、END{}は$_が取れないので渡す場合は$x = $_; END{ print $x }のように別の変数に代入する必要がある一例
ls -l | perl -ale '$F[8] =~ s/\.html//; print $F[8];'
1のところが行数なので、ここを変えることで任意の行の文字列を取れる
入力
cat <<EOF | perl -ne 'print if $. == 1' 25-08-10 - 14:48:39
aaa
bbb
ccc
EOF
出力
aaa
入力
echo "foo bar" | perl -ne '/^([^ ]+)/; print $1'
出力
foo
入力
echo "foo bar" | perl -pe 's/(?<first>.+) (?<last>.+)/$+{first}-$+{last}/'
出力
foo-bar
unshiftで配列の先頭に値を追加し、END{}で最後に出力している
入力
cat <<EOF | perl -ne 'unshift @x, $_; END{ print @x }'
aaa
bbb
ccc
EOF
出力
ccc
bbb
aaa
man 5 crontabで使い方見るのが一番早い
*/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 )