您好朋友/我的上师和所有善良的人。
我有一个固定宽度的文件,目前我正在尝试查找包含x字节的那些行的长度。我尝试了几个awk命令,但它没有给我想要的结果。我的固定宽度包含208个字节,但是有几行不包含208个字节。我正在尝试发现没有208bytes的记录。
这个cmd给了我文件长度
awk '{print length;exit}' file.text
在这里,我尝试打印包含101个字节的行,但是没有用。
awk '{print length==101}' file.text
这里的任何帮助/见解都会很有帮助
答案 0 :(得分:1)
使用awk
:
awk 'length() < 208' file
好吧,length()给出的是个字符的数量,而不是个字节。此数字在unicode上下文中可以不同。您可以使用LANG
环境变量来强制awk使用 bytes :
LANG=C awk 'length() < 208' file
答案 1 :(得分:0)
抢救Perl!
perl -lne 'print "$.:", length if length != 208' -- file.text
-n
逐行读取输入-l
在处理输入之前从输入中删除换行符,并将其添加到print
单线将打印行号($。)和每行的长度不同于208的行的长度。