안녕,
아마도 이것은 매우 쉬운 일이지만 지금은 요점을 알지 못합니다. Linux에서 쉘에 텍스트 파일이 있으면 cat filename과 같은 방법으로 첫 번째 줄, 세 번째 줄, 5, 7, 9 등 만 볼 수 있습니까?
고양이가 아니라면 다른 명령으로
감사
안녕,
아마도 이것은 매우 쉬운 일이지만 지금은 요점을 알지 못합니다. Linux에서 쉘에 텍스트 파일이 있으면 cat filename과 같은 방법으로 첫 번째 줄, 세 번째 줄, 5, 7, 9 등 만 볼 수 있습니까?
고양이가 아니라면 다른 명령으로
감사
답변:
아니면 같은
sed -n 'p;n' filename
설명을 보려면 맨 페이지를 찾아보십시오 sed.
sed내 마음을 미끄러 뜨린 휴대용 버전입니다.
sed -n '1d;p;n'예를 들어 짝수 라인을 위해 선을 쉽게 건너 뛸 수 있습니다.
sed를 사용하십시오 :
sed -n 1~2p filename
sed가 기본값이 아닌 시스템에서는 작동하지 않을 수 있습니다 .
sed매뉴얼 gnu.org/software/sed/manual/html_node/Addresses.html#Addresses 는“first ~ step This GNU extension…”이라고 말합니다. 언급하지 않습니다 --posix. gsed --posix -n 1~2p(GNU sed 4.2.1)을 시도 하면 gsed: -e expression #1, char 2: unknown command: ‘~’.
Google에서 간단한 검색을 수행하면 다음 링크가 표시됩니다. http://bash.cyberciti.biz/academic/write-odd-even-line-file/
약간만 조정하면됩니다.
내 2 센트
이것을 테스트하지는 않았지만 (Mac OS X에서는 작동하지 않는 것 같지만) GNU sed는 first~step주소 선택으로 지원합니다 .
sed -n 1~2p file
첫 번째 줄에서 시작하여 그 후 다른 모든 줄을 인쇄합니다.
sed기본 설치에서 BSD 를 사용 합니다.
테스트 할 수 없으며 링크를 찾았습니다. cat -n $ 1 | grep "$ ODDRE"| cut -b 8-> 홀수 파일. $$
ODDRE. 그러나 그 대답은 파일이 백만 줄 미만인 경우에만 작동합니다.
이 명령을 사용하여 결과를 요구할 수 있습니다
awk 'NR % 2 == 1'
sed -ne '1 ~ 2p'
ls -l여기에 있습니까?
{print}기본 동작이므로awk 'NR % 2 == 0' < myfile충분합니다.