sed 在特定列中插入字符

标签 sed awk

谁能告诉我如何将 chr 插入第一列中的每个字符。

文件位于

1 34566 34765    
2 45678 45789
3 34567 34799
X 67895 66900
Y 34567 34890

文件输出
chr1 34566 34765
chr2 45678 45789
chr3 34567 34799
chrX 67895 66900
chrY 34567 34890

我不知道如何使 sed -i 应用于特定列。我不擅长语法,所以如果你能分解你的解释,我将不胜感激。另外,为此使用 awk 会更好吗?

最佳答案

使用 sed:

sed 's/^/chr/' file.in > file.out

您不需要 -i -flag 因为你没有覆盖输入文件 文件.in .

使用 awk:
awk '{print "chr"$0}' file.in > file.out

关于sed 在特定列中插入字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646372/

相关文章:

html - bash 脚本 sed 用变量计数替换图像编号

perl - 使用任何有效的方法(PERL、SED、AWK)将文件行中的信息提取到列中

regex - 如何在使用 sed 替换文本时保留新行和格式?

shell - Unix shell : replace by dictionary

regex - 每行一个输出组,带有组名和组 ID

awk - 如何用特殊字符分割变量

linux - 重命名以数值结尾的文本文件

regex - 使用 sed 打印以 z 开头且不以 03 结尾的行

linux - 如何在以 <fc=ff00> 开头的行后添加字符串 “</font>”,但不添加连续的两行?

regex - 使用 GNU sed 在插入或附加行中重用匹配的模式