perl oneliner逐行读取文件并按位置跳过一些单词
perl oneliner to read file line by line and skip some words by position
给出这样的日志:
2022-03-30 21:05:00.266 +0200 CEST debug Mylog
是否可以使用一行命令逐行读取日志、解析并跳过例如第 3、4 和 5 个字(其中“字”是用空格分隔的任何内容),以便我会得到这个输出吗?
2022-03-30 21:05:00.266 Mylog
或第 3 和第 5 有这样的输出?
2022-03-30 21:05:00.266 CEST Mylog
perl -lane 'splice @F, 2, 3; print "@F"'
-l
从输入中删除换行符并将其添加到输出中
-n
逐行读取输入,运行每行代码
-a
将空白处的每一行拆分为@F 数组
- splice 从@F 中删除从位置 2 开始的三个元素(编号从 0 开始)
给出这样的日志:
2022-03-30 21:05:00.266 +0200 CEST debug Mylog
是否可以使用一行命令逐行读取日志、解析并跳过例如第 3、4 和 5 个字(其中“字”是用空格分隔的任何内容),以便我会得到这个输出吗?
2022-03-30 21:05:00.266 Mylog
或第 3 和第 5 有这样的输出?
2022-03-30 21:05:00.266 CEST Mylog
perl -lane 'splice @F, 2, 3; print "@F"'
-l
从输入中删除换行符并将其添加到输出中-n
逐行读取输入,运行每行代码-a
将空白处的每一行拆分为@F 数组- splice 从@F 中删除从位置 2 开始的三个元素(编号从 0 开始)