dov*_*vah 0 sed text-processing replace
我在删除文本文件的第一个空格\s和第一个选项卡之间的字符串时遇到了一些麻烦\t(应该保留选项卡):
样本输入:
col1_frame1 unimportant a b c
Run Code Online (Sandbox Code Playgroud)
样本的预期输出:
col1_frame a b c
Run Code Online (Sandbox Code Playgroud)
我尝试过,sed 's/ .*\t/\t/'但输出错误:
我的样本输出(使用以前的 sed):
col1_frame c
Run Code Online (Sandbox Code Playgroud)
小智 5
这是因为.*将匹配任何内容(因为它是正则表达式通配符)并且可以并且将尽可能地扩展,直到看到最后一个选项卡(并包含其间的任何其他选项卡)。您想要的是[^\t]*匹配任何不包含制表符的字符串,因此您对 sed 的组合调用应该如下所示:sed 's/ [^\t]*\t/\t/'