この `sed ... <の空の出力は何ですか?

この `sed ... <の空の出力は何ですか?

次のsedはなし...| od -c()を返します。...|cut -d "\n" -f

0000000   1   9   2  \n   2   5   0  \n
0000010

擬似コード

# http://unix.stackexchange.com/a/290407/16920
sed -n -f - /usr/share/X11/xkb/symbols/us <<END_SED | cut -d "\n" -f1 
/xkb_symbols "dvorak" {/,/^};/{
        /xkb_symbols "dvorak" {/=
        /^};/=
}
END_SED

ただし、出力は空です。

システム: Ubuntu 16.04 64 ビット
ハードウェア: Macbook Air 2013-mid
Sed: 4.2.2
Cut, od: Coreutils 8.25

ベストアンサー1

このcutユーティリティは1つ以上を「ブロック」します。リスト入力から。他の多くのUnixユーティリティと同様に、cutこれは入力の各行に処理を適用してから次の行に進むストリームベースの行固有のリーダーです。

\n区切り文字としては使用できませんcut。なぜなら、それは行を区別するために必要なものだからです。

バイパス作るcut使用する2つの列はpaste。また、ユーティリティpasteは入力を1行ずつ読みますが、ユーザーが指定した仕様に従ってタブ区切りの列にバッファリングして出力します。

この場合:

$ mycommand | paste - -
192     250

次に、cut次を追加します。

$ mycommand | paste - - | cut -f1
192

おすすめ記事