"less" 명령이 표준 입력에서 데이터를 읽을 수 없는 이유는 무엇입니까?

"less" 명령이 표준 입력에서 데이터를 읽을 수 없는 이유는 무엇입니까?

이 명령은 less < brown_fox.txt데이터를 읽고 brown_fox.txt화면에 인쇄합니다. 하지만 표준 입력이나 키보드에서 데이터를 읽기 위해 더 적은 명령을 사용하려면 어떻게 해야 합니까?

나는 다음 명령을 시도했다.

less
less <&0

그러나 그들 중 누구도 성공하지 못했습니다.

답변1

읽으려면 stdin다음을 사용할 수 있습니다.

less -

그러나 이는 다른 명령의 출력을 로 파이프하려는 경우에 더 적합합니다 less. 키보드에서 입력하는 것도 가능하지만 데드존에 입력하게 되며 를 눌러 Ctrl-C제어권을 less로 되돌려야 하므로 이 사용법이 꽤 좋습니다. 어렵습니다(무의미하지는 않지만).또한 이것은 문서화되지 않았으며 전혀 이식 가능하지 않을 수도 있습니다!

어쩌면 당신이 less그것을 읽어야 하는 이유를 확장하고 싶습니까 stdin?

답변2

에 명령을 보내려는 경우 명령줄에서 다음과 같이 사용할 less수 있습니다 .+

less +G somefile

ls -l | less +G

이는 기본 프롬프트에서 명령을 열고 입력하는 것과 같습니다 less.G


입력할 때 페이지가 매겨진 정보 에 대해 이야기하는 경우 lessheredoc을 사용할 수 있지만 그 사용 사례는 확실하지 않습니다.

less << EOF
hello
world
EOF

관련 정보