あるファイルの1行を印刷して別のファイルの行を置き換えるための入力として使用したいと思います。
sed -n '12p' FILE1 | sed -i '12c\ STDIN' FILE2
可能ですか?
ベストアンサー1
私はコマンドの標準入力読み取りをサポートするsedの実装を知りませんが、c
GNU sedではr
擬似ファイル名と一緒にコマンドを使用して元の行を/dev/stdin
削除d
できます。
... | sed -i '12{
r /dev/stdin
d
}' FILE2
または-e
チェーン式をより簡潔に使用してください。
... | sed -i -e '12{r /dev/stdin' -e 'd;}' FILE2
中かっこはコマンドをグループ化してr
、d
そのアドレスに対してすべて実行されるようにします12
。引数の一部として解析されるので、12{r /dev/stdin; d;}
単に使用することはできません。; d;}
r