이 `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유틸리티는 하나 이상을 "차단"합니다.목록입력에서. 다른 많은 Unix 유틸리티와 마찬가지로 cut이는 입력의 각 줄에 처리를 적용한 후 다음 줄로 진행하는 스트림 기반 줄별 판독기입니다.

\n구분 기호 로 사용할 수는 없습니다 cut. 왜냐하면 그것이 줄을 구분하는 데 필요한 것이기 때문입니다.

우회로만들다cut사용할 두 열은 paste. 또한 유틸리티 paste는 입력을 한 줄씩 읽지만 사용자가 제공한 사양에 따라 탭으로 구분된 열에 버퍼링하고 출력합니다.

이 경우:

$ mycommand | paste - -
192     250

그런 다음 cut다음을 추가합니다.

$ mycommand | paste - - | cut -f1
192

관련 정보