내 코드에서 특정 길이보다 긴 줄을 찾고 싶습니다. 내 코드가 여러 파일에 있습니다. 이를 수행할 수 있는 좋은 방법이 있습니까?
파일과 줄 번호를 알고 싶습니다. 내용이 선호되지만 필수는 아닙니다. 이 연습의 목적은 선을 끊는 방법(아마도 수동으로)을 알아내는 것입니다.
답변1
그리고 grep
:
grep -En '.{12}' file
길이가 12자 이상인 줄의 경우.
여러 파일이 있습니다:
find . -type f -exec grep -En '.{12}' {} +
grep
GNU와 같은 일부 구현에서는 grep
파일 자체를 찾을 수 있습니다.
grep -rEn '.{12}' .
그러나 기호 링크 및 기타 특이한 파일에는 주의하세요.
답변2
AWK 솔루션
awk '{
if (length($0) > 5)
print $0;'} yourfile
또는 더 간결하게 말하면:
awk 'length > 5' file
답변3
쿵쿵 솔루션
#!/bin/bash
count=0
while read; do
((++count))
len=${#REPLY}
if ((len > 80)); then
echo "Line $count is $len characters."
fi
done
예를 들어 ; 에서 1을 빼는 개행 문자 ./whatever.sh < input.file
는 포함되지 않습니다 $len
. 이것이 바람직하지 않거나 입력이 CRLF로 끝나는 경우 그에 따라 조정해야 합니다.
답변4
( perl
예를 들어) 80자보다 긴 줄을 검색한다고 가정하면 다음과 같습니다.
행을 표시하려면 다음을 수행합니다.
$ perl -nle 'print if length > 80' your_file
행 수 표시:
$ perl -nle 'print "$.\n" if length > 80' your_file
아니면 둘다:
$ perl -nle 'print "[$.]: $_\n" if length > 80' your_file