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++)
2番目のフィールドから始めて、すべてのフィールドを繰り返します。if(length($i)>l
このフィールドの長さが最後のフィールドの長さより大きい場合:next;
次の行に移動します。
l=length($i)
l
次の繰り返しのための変数を設定します。