.txt 파일에 639개의 문자 라인을 유지하고 싶습니다. 이를 수행하는 명령은 무엇입니까?
답변1
당신은 그것을 사용할 수 있습니다 grep
:
grep -E '^.{639}$' your.txt
^
$
줄의 시작과 끝을 일치시킵니다 . .{639}
모든 문자와 정확히 639번 일치합니다.
Stéphane이 언급했듯이 이는 다음과 같이 (한 문자로) 단축될 수 있습니다.
grep -Ex '.{639}' your.txt
그리고 -x
말했다:Select only those matches that exactly match the whole line
답변2
awk를 사용하세요:
awk 'length == 639'
또는 약간 이해하기 쉽습니다.
awk 'length() == 639'
\감사합니다{@fedorqui}
답변3
Ex 모드에서 Vim을 사용할 수 있습니다:
ex -sc 'v/\v^.{639}$/d' -cx file.txt
\v
마법을 켜세요^.{639}$
정확히 639자를 포함하는 줄 찾기v
반전 선택d
삭제x
저장하고 닫습니다
답변4
데이터가 무엇인지, 단어를 중간에 분리하는 것이 허용되는지 여부에 대해 언급하지 않았습니다. 따라서 여기에 서면 텍스트에 더 적합할 수 있는 대안이 있습니다.
export MANWIDTH=639
cat file.txt | man -l -
이는 표시를 위해 기본 호출기를 사용하거나 출력을 다른 것으로 파이프합니다.