検索条件
全3件
(1/1ページ)
置換をするためのコマンドだが、PCREは基本使えない(自前でビルドすれば使える)
大抵のケースでPerlを使った方が楽だが、Busybox系のディストリなどで入っていない環境では重宝する。
-l
入力からケツ改行を消す-p
入力行を処理する-e
スクリプトを流せるphp -r
のようなもの-i[ext]
ファイル置換。extに指定があるとバックアップファイルが生える
sed -i.bak -e 's/aaa/bbb/' path/to/file
コマンドを使う必要がある
入力
cat <<'EOF' | sed ':a;N;$!ba;s/\n/\\n/g'
aaa
bbb
ccc
ddd
EOF
出力
aaa\nbbb\nccc\nddd
コマンドの意味合い
コマンド | 意味合い |
---|---|
; |
恐らくコマンドの終わり |
: |
ラベル。今回の:a はラベルa |
N |
入力の次の行をパターンスペースに読み込む |
$ |
最終行にマッチ |
! |
マッチしない(アドレスとコマンドの間に入れる必要がある) |
b |
ラベルに分岐する。ba はラベルaに分岐。gotoみたいなもんだと思う |
つまり入力の次の行をパターンスペースに読み込み、最終行にマッチしなければ入力の次の行をパターンスペースに読み込み、マッチすればs/\n/\\n/g
が発動するのだと思われる。
おなじみのアーカイブ作成コマンド。迷ったらヘルプ読んだほうが早い
tar -zvcf foo.tar.gz foo
z: --gzip, gzip
v: --verbose, 詳細、別になくてもいい
c: --create, アーカイブの新規作成
f: --file, 保存するファイル名
tar -cf
だとtarballになると思われる
T: --files-from, アーカイブ対象ファイルのリストを読み込む。LF区切りのテキスト
--exclude: <pattern>, アーカイブから除外するパスのパターン
tar -zxvf foo.tar.gz foo
z: --gzip, gzip
x: --extract, 展開
v: --verbose, 詳細、別になくてもいい
f: --file, 展開するファイル名