我可以刪除特定格式的文本並縮短或更長的文本sed '/^.\{25\}..*/d' -i FILE
,但如何合併在sed模式和長度?如何刪除某個文件中符合特定格式並長於或短於特定長度的文件中的行
含有A
系應該是包含B
應該是包含C
應該是所有其他線3和字符
之間8
線10和15個字符之間
線20和字符之間25應從文件中刪除
1234567890 A 1234567890
12345 A 12345
1 A 1
1234567890 B 1234567890
12345 B 12345
1 B 1
1234567890 C 1234567890
12345 C 12345
1 C 1
從而使輸出應該是這樣的
1234567890 A 1234567890
12345 B 12345
1 C 1
考慮使用一個變量,而不是每行調用'length()'最多6次,所有的'*'都不做任何事情。 –
@EdMorton:好主意。但是,除非我知道O.P.是否可以使用'awk'解決方案,否則不想花費更多時間。此外,這將需要使用「{if(...)....}」的查看形式。是不是模式/動作形式的首選; - >?我明天會爲你的想法添加一個編輯。祝你們好運。 – shellter
這只是對{n = length()}/A /&&n> 19 && n <26 ||的調整。 ....'。 –