Jun*_*eng 2 text-processing paste
我有一个这样的制表符分隔文件:
chr1 53736473 54175786
chr1 56861276 56876438
chr1 57512145 57512200
Run Code Online (Sandbox Code Playgroud)
我想像这样连接三个字段结果:
chr1:53736473-54175786
chr1:56861276-56876438
chr1:57512145-57512200
Run Code Online (Sandbox Code Playgroud)
我试过paste -d ':-' file,这显然不起作用。有人可以帮忙吗?
理想情况下可以使用简单的 unix 命令,我知道使用高级语言很容易。
对于你的例子,
awk '{print $1":"$2"-"$3}' your_file
Run Code Online (Sandbox Code Playgroud)
会起作用,但它假设您始终只有 3 个字段。
使用 sed:
$ sed 's/\(.*\)\t\(.*\)\t/\1:\2-/' file
chr1:53736473-54175786
chr1:56861276-56876438
chr1:57512145-57512200
Run Code Online (Sandbox Code Playgroud)
打印输出:
printf "%s:%s-%s\n" $(< file)
chr1:53736473-54175786
chr1:56861276-56876438
chr1:57512145-57512200
Run Code Online (Sandbox Code Playgroud)