例如,我可能想:
tail -f logfile | grep org.springframework | <command to remove first N characters>
我当时认为tr
可能有能力这样做,但我不确定。
答案 0 :(得分:285)
使用cut
。例如。去除每行的前4个字符(即从第5个字符开始):
tail -f logfile | grep org.springframework | cut -c 5-
答案 1 :(得分:43)
sed 's/^.\{5\}//' logfile
你用你想要的数字替换5 ......它应该做的诀窍......
修改强>
如果每行
sed 's/^.\{5\}//g' logfile
答案 2 :(得分:21)
您可以使用cut
:
cut -c N- file.txt > new_file.txt
-c:
个字符
file.txt:
输入文件
new_file.txt:
输出文件
N-:
从N到最终的字符被剪切并输出到新文件。
还可以使用其他参数:&#39; N&#39; ,&#39; N-M&#39;,&#39; -M&#39;表示第n个字符,第n个到第m个字符,第一个到第m个字符。
这将对输入文件的每一行执行操作。
答案 3 :(得分:4)
tail -f logfile | grep org.springframework | cut -c 900-
将删除前900个字符
cut
使用900-将第900个字符显示在该行的末尾
然而,当我通过grep管道所有这些时,我没有得到任何东西
答案 4 :(得分:2)
我认为awk
将是最好的工具,因为它可以过滤并在过滤行上执行必要的字符串操作功能:
tail -f logfile | awk '/org.springframework/ {print substr($0, 6)}'
或
tail -f logfile | awk '/org.springframework/ && sub(/^.{5}/,"",$0)'
答案 5 :(得分:2)