“无”意味着没有输出。
问:如何限制管道的最小和最大长度细绳? (最小值:x>=3 个字符,最大值:x<=32 个字符)
输入:
echo 12 | MAGIC
输出:
nothing
输入:
echo 123 | MAGIC
输出:
123
输入:
echo 123456789012345678901234567890123 | MAGIC
输出:
nothing
输入:
echo 12345678901234567890123456789012 | MAGIC
输出:
12345678901234567890123456789012
答案1
这应该可以完成这项工作:
echo 123 | awk 'length >= 3 && length <= 32'
如果通过管道传递多行,它将打印 3 到 32 个字符的行。
答案2
尽管大卫的awk
一个是最明显的一个,添加到列表中:
grep -xE '.{3,32}'
答案3
使用 Perl:
perl -nle 'print if length() > 2 and length() < 33'
测试1:
echo "12345678901234567890123456789012" | \
perl -nle 'print if length() > 2 and length() < 33'
输出:
12345678901234567890123456789012
测试2:
echo "123456789012345678901234567890123" | \
perl -nle 'print if length() > 2 and length() < 33'
输出:
<Nothing>