请帮助从如下所示的文件中删除第 2 列(分隔符空间(中的前 9 个字段。我尝试使用 cut & awk,但没有满足所需的输出。
我的输入文件
appu 11062017-10:00
ammu 11062017-11:00
anna 11062017-12:00
所需的输出..
appu 10:00
ammu 11:00
anna 12:00
请注意,字段11062017-(日期(将不同,但数字长度(9个字符(将相同。 请帮我执行命令。
使用 awk 和sub
将$2
的前 9 个字符替换为空字符串:
$ awk '{sub(/.{9}/,"",$2)}1' file
appu 10:00
ammu 11:00
anna 12:00
根据@anubhava的评论。它可以通过带有 substr 的 awk 来实现。
awk -F " " '{print $1,substr($2,10)}' my_input_file.txt
另一种awk解决方案
awk '{ split($2,arry,"-");print $1" "arry[2] }' filename
在这里,我们使用"-"分隔符来获取所需的数据
尝试使用
sed -i 's/ .*-/ /g' file
sed
删除空格和
sed
之间的所有字符
另一种方式[[:digit:]]{8}-
's/([[:digit:]]{8}-)//' filename
- 正则表达式CC_7将匹配 8 位数字,后跟一个连字符。