使用 sed 替换随机字符串

使用 sed 替换随机字符串

如何使用 sed 替换随机字符串。例如,如果我有一个如下文本文件:

EF125353.1 待替换 1

EF125353.1再次被替换2

EF125353.1 将被替换等等 3

我想替换之后的任何东西.1直到行尾有一个空格或者没有任何内容,得到最终文件如下:

EF125353.1

EF125353.1

EF125353.1

我在 OS X 中使用 Unix

谢谢

答案1

对于你的简单情况我的解决方案是

cat file | cut -d' ' -f1

-d' '告诉 cut 字段之间的分隔符是空格。-f1告诉 cut 保留第一列。

如果你真的想使用 sed,我不建议在这个非常简单的情况下使用,你可以这样做

cat file | sed -e 's/\.1.*/.1/'

-e后面跟着要执行的命令。s/<search-string>/<replace-string>/搜索 <search-string> 并将其替换为 <replace-string>。搜索字符串是一个正则表达式。这意味着被\.1.*解释为点后跟“1”,后跟任意数量(“*”)的任意字符(“。”)。这将被替换为“.1”(这里不需要转义)。

答案2

您也可以使用 awk:

awk '{print $1}' input.txt > output.txt

相关内容