host1 C1U5 host2 C11U55 host15 C5U10
我必须编辑主机的文件。 我写了sed / awk行来删除字符,但我的sed行只是返回完整的行。 我需要删除线的Cxx部分。
awk '{print $2}' file | sed -e 's/([Cc][0-9].\w+//g' | tee new new_file
输出应该看起来像
host1 5 host2 55 host15 10
.htaccess重写505错误循环
Linux:replace键值对,值包含文件path
在RegEx中使用SED将下划线重新放入数百个CSS文件的链接中
Rsorting在Linux中与方括号中的文字似乎忽略
表情符号在Linux中没有被python正则expression式检测到
Linux的cpu使用率,然后在算术expression式中使用它
如何在使用正则expression式Windows csv时保留换行符
Express 4中间件不在DigitalOcean服务器上呼叫路由
在CORS中使用正则expression式
这将从第二个字段中删除除最后一个数字之外的所有数据,并且您将获得所需的输出。
awk '{ sub(/C[0-9]+w/,"",$2); print $1,$2 }' f1
输出:
host1 5 host2 55 host15 10
awk解决方案:
$ awk '{sub(/C[0-9]+[^0-9]+/,$2)}1' file host1 5 host2 55 host15 10
解释正则表达式:
C # C [0-9]+ # followed by 1 or more digits [^0-9]+ # followed by 1 or more non-digits
sed解决方案:你可以使用那个非常相同的正则表达式
$ sed -E 's/C[0-9]+[^0-9]+//' file
Sed解决方案:
ubuntu$ sed -E 's/.*(^[a-zA-Z0-9]+[ ])([C][0-9]*[U])([0-9]+).*/1 3/g' mytext.txt host1 5 host2 55 host15 10
问候!
awk也可以帮助你。
awk -F'C[0-9]+\w' '{print $1,$2}' Input_file
输出如下。
host1 5 host2 55 host15 10
awk '{sub(/C.*U/,"")}1' file host1 5 host2 55 host15 10
怎么了?
从C和。=任何值的单个字符
* =前面的字符为零的零个或多个。
最后1打印剩下的东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。