如何使用 sed 替换文件中具有相同模式的多个字符串

如何使用 sed 替换文件中具有相同模式的多个字符串

我正在尝试使用 sed 命令来修改文件。原始文件有5条染色体,分别命名为“1 CHROMOSOME”、“2 CHROMOSOME”、“3 CHROMOSOME”、“4 CHROMOSOME”、“5 CHROMOSOME”。现在我想将这五个染色体重命名为 chr1、chr2、chr3、chr4、chr5。我尝试使用 sed 命令来执行此操作。我知道我可以一次做一个,但我怎么能一次重命名所有五个呢?

先感谢您。

答案1

你可以使用捕获组对于数字和a反向引用重新替换它:

sed 's/\([12345]\) CHROMOSOME/chr\1/g' file

参见示例使用括号进行分组和捕获

相关内容