如何限制重定向到文件的标准输出字符的数量?
答案 0 :(得分:5)
其他方式(外部)
echo $out| head -c 20
echo $out | awk '{print substr($0,1,20) }'
echo $out | ruby -e 'print $_[0,19]'
echo $out | sed -r 's/(^.{20})(.*)/\1/'
答案 1 :(得分:1)
您可以使用命令替换来包装输出预重定向,然后使用偏移参数扩展来限制字符数,如下所示:
#!/bin/bash
limit=20
out=$(echo "this line has more than twenty characters in it")
echo ${out::limit} > /path/to/file
$ limit=20
$ out=$(echo "this line has more than twenty characters in it").
$ echo ${out::limit}
this line has more t
答案 2 :(得分:0)
您不能直接进入文件,但您可以通过sed
或head
等管道传递仅部分输出。或者正如@SiegeX所说,捕获shell中的输出(但如果输出错误可能很大,我会警惕)。