パイプライン出力の各行を2倍にする方法は? [コピー]

パイプライン出力の各行を2倍にする方法は? [コピー]

各入力行に対してパイプラインを2倍にする方法は?

例:

echo "foobar" | MYSTERY_COMMAND
プバ
プバ

ベストアンサー1

ただ使用してくださいsed p

echo foobar | sed p

また、必要ありませんcat

sed p input.txt
# or
sed p input.txt > output.txt

説明する

psed「印刷」コマンドです。

印刷sed基本アクション。したがって、sed明示的に印刷を指示すると、結果はすべての行を印刷することです。二重

「kumquat」という単語を含む行だけを印刷するとします。 toを使用してデフォルトの印刷ジョブを-n抑制し、一致する行を印刷するように明示的に指示できます。sed/kumquat/

sed -n /kumquat/p

または5行だけを印刷し、他のものを印刷したくない場合:

sed -n 5p

または、15行から27行までのすべての行を印刷するには、次のようにします。

sed -n 15,17p

各行を印刷するにはとは別に「金柑」を含む行の場合は、sedすべての金柑行を削除し、その行を印刷するデフォルトのジョブを削除されていない行で発生させることでこれを行うことができます。この-nフラグや明示的なコマンドは必要ありませんp

sed /kumquat/d

sed単純なパターン(アクション構文)を使用してください。上記の例は、行番号ベースのパターンと正規表現ベースのパターン、および2つの操作(印刷と削除)を示しています。 sed一つあるたくさんそれよりも強力です。

最も一般的で便利なsedコマンドを含める必要があります。

sed s/apples/oranges/g

これにより、「apple」のすべてのインスタンスが「orange」に変わり、結果が印刷されます。

g(代替コマンドでグローバルフラグを省略すると、各行sの最初のインスタンスのみが変更されます。)


追加資料(強くお勧め):

おすすめ記事