grep
하위 순서만 지정 하려는 QR 코드 줄이 포함된 파일이 있습니다.길이가 늘어나지 않습니다. 예:
다음 시퀀스가 이전 시퀀스보다 작거나 같기 때문에 이는 좋습니다.
####### ###### ### ### ## # # #
이것은 잘못된 것입니다:
### ## ## ### ### ### ###### ##
이것이 내가 시작한 방법입니다.
egrep "[^#](####)+[ ]+(##)+" qr.txt
하지만 계속하는 것이 불가능하다는 것을 깨달았습니다.
답변1
grep -vE '(^| )(#+) .*\2#' <<END
####### ###### ### ### ## # # #
### ## ## ### ### ### ###### ##
END
####### ###### ### ### ## # # #
답변2
그리고 awk
:
awk '{l=length($1);for(i=2;i<=NF;i++){if(length($i)>l){next};l=length($i)}}1' file
l=length($1)
변수를l
첫 번째 필드의 길이로 설정합니다.for(i=2;i<=NF;i++)
두 번째 필드부터 시작하여 모든 필드를 반복합니다.if(length($i)>l
이 필드의 길이가 마지막 필드의 길이보다 큰 경우:next;
다음 줄로 이동합니다.
l=length($i)
l
다음 반복을 위한 변수를 설정합니다 .