我的日志文件都以时间戳开头,然后是日志级别,然后是消息,我想要一个删除时间戳的脚本。
也就是说,我想要一个文件的每一行都会转向的脚本:
21:22:34.571 DEBUG - some message
到
DEBUG - some message
我没有太多使用bash所以任何建议都会受到赞赏。
答案 0 :(得分:2)
您可以尝试sed
或cut
,具体取决于输入数据:
sed -e 's/^[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}.[0-9]\{3\}//' <data_file_name>
cut -c 13- <data_file_name>
答案 1 :(得分:1)
如果你可以使用awk:
O
否则,使用shell(非常慢):
awk '$1="";1' data_file_name
答案 2 :(得分:0)
grep
$ cat ip.txt
21:22:34.571 DEBUG - some message
21:23:34.571 DEBUG - some other message
这将留下前导空白
$ grep -o ' .*' ip.txt
DEBUG - some message
DEBUG - some other message
这不会
$ grep -oP ' \K.*' ip.txt
DEBUG - some message
DEBUG - some other message