我有 o/p 喜欢
19599 user 20 0 120m 32m 4260 S 14.0 5.3 3:21.13 app.out \t Wed Jun 8 09:31:06 UTC 2011
19599 user 20 0 120m 32m 4260 S 14.0 5.4 3:21.61 app.out \t Wed Jun 8 09:31:12 UTC 2011
19599 user 20 0 121m 32m 4260 S 12.0 5.4 3:22.31 app.out \t Wed Jun 8 09:31:17 UTC 2011
我想删除行中从 \t
开始的所有字符。
我如何使用 sed
做到这一点?
我尝试使用 awk -F t '{print $1}'
但它将 t 从 app.out 中删除。
我想要o/p这样的
19599 user 20 0 120m 32m 4260 S 14.0 5.3 3:21.13 app.out
19599 user 20 0 120m 32m 4260 S 14.0 5.4 3:21.61 app.out
19599 user 20 0 121m 32m 4260 S 12.0 5.4 3:22.31 app.out
如果我这样写awk
:
awk -F t '{print $1"t"}'
它工作正常,但这只是一种解决方法。如何删除行中从 \t
开始到行尾的所有字符?
最佳答案
如果输出包含反斜杠和“t”这两个字符,则使用:
sed 's/ *\\t.*//'
这会删除两个字符前的空格,即反斜杠和“t”,以及它们之后的所有内容。
如果输出包含制表符,则需要用实际制表符替换 '\\t
'。
关于sed 删除\t 之后行中的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279830/