αғs*_*нιη 10
sed -nr '/^.{101,149}$/p' infile
Run Code Online (Sandbox Code Playgroud)
-n: 没有打印该-n选项将阻止打印任何内容,除非找到明确的打印请求(^.{101,149}$“长度超过 100(>=101) 且小于 150 个字符(<=149) 的行”)。该/p标志用作重新打开打印的一种方式。
-r: -r (--regexp-extended)在-r启用扩展正则表达式。如果您的 sed 无法识别-r,-E则替换为,或者如果您的 sed 版本不支持大括号,则您将需要转义大括号。那么命令就是sed -n '/^.\{101,149\}$/p' infile.
该^只是为行首锚和$线路的末端。
单个.匹配任何单个字符
所以,你明白了sed -nr '/^.{101,149}$/p' infile,我们正在寻找从头到尾的一行,其中包含或包含我们定义的规则。
这是一种复制grepwith功能的方法,sed例如:sed -n '/.../p':)
grep -E '^.{101,149}$' infile
Run Code Online (Sandbox Code Playgroud)
-E这与 sed 的-r选项相同,但用于grep命令。所以如果你不想使用只是逃避花括号。awk 'length($0)>100 && length($0)<150' infile
Run Code Online (Sandbox Code Playgroud)
length返回行的长度。在 awk 中,$0指定整行。所以如果行的长度在 100 到 150 之间,将被打印出来。