2016-03-01 73 views

回答

2

聽起來像是AWK作業:

awk 'NR % 3 == 0 && length($0) != 6 { print "line " NR " is the wrong length"; exit }' file 

當記錄數NR是3的倍數和所述線的長度是不是6,打印消息並退出。從你的例子

輸出(假設所有這些空行不應該在那裏):

$ awk 'NR % 3 == 0 && length($0) != 6 { print "line " NR " is the wrong length"; exit }' file 
line 6 is the wrong length 
-3

您可以確定在猛砸變量字符數量與$ {#} VarName中。

+2

Downvote:即使這是擴大到實際顯示如何可以這樣做,處理由線在文件中的行通常應該避免使用殼環。 – tripleee

0

如果你只想檢查任何一行是否超過6個字符,你可以使用wc -L,它給你最大行長度。爲了只抓取每一行,sed可以用於n〜m(從第n行開始的第m行)。 這一個班輪返回線3,6,9的最大線長,...

sed -n '0~3p' foo | wc -L 
相關問題