諸事情でパイプが使えないコンソールで同じような処理を行わせる
Pocket

ターミナルの使用キーボードが違うなどで、パイプが使えない(入力できない)という場合もある。
そんなときはキーボードの種類を切り替えるのがいいのだが、諸事情でそれもできないこともあるだろう。

Sponsored Links

そんな時は、以下のようにすることでパイプと同じような処理をさせることができる。

コマンド1 | コマンド2 # パイプを使った場合
コマンド2 <(コマンド1)
[root@BS-PUB-CENT7-01 ~]# cat test
AAA 111
BBB 222
AAA 333
BBB 444
CCC 555
[root@BS-PUB-CENT7-01 ~]# grep AAA test | sed 's/111/999/g'
AAA 999
AAA 333
[root@BS-PUB-CENT7-01 ~]# sed 's/111/999/g' <(grep AAA test)
AAA 999
AAA 333

 

2017/02/18 追記

なお、この他のやり方だと以下のようなものがあるようだ。

grep AAA test > >(sed 's/111/999/g')
eval $(echo -e grep AAA test "\0174" sed 's/111/999/g') # アスキーコードで取得したあと、evalでそれを実行

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。