我有一组带有命名约定的文件bond_7.LEU.CA.1.dat bond_10.VAL.CB.1.dat .....并且还有其他一组文件以字符串距离开头而不是与相同的扩展名,即distance_7.LEU.CA.1.dat ....我试图在shell脚本中使用粘贴命令合并相应或后续的文件行
我打算这样做 paste bond_7.LEU.CA.1.dat distance_7.LEU.CA.1.dat> ../拉吉/ angle_dist_7.LEU.CA.dat
我尝试使用for循环并且更换文件名的字符串以访问相应的文件。
提前致谢,
任何帮助将不胜感激。
答案 0 :(得分:1)
#!/bin/bash
for FILE in bond*
do
paste "$FILE" "${FILE/bond/distance}" > "../raj/${FILE/bond/angle_dist}"
done
是吗?
PS。这种替换在纯sh
中不起作用。您应该使用bash
或ksh
或zsh
或类似的那样。
PPS。要与sh
一起使用,请将"${FILE/bond/distance}"
替换为
`echo $FILE | sed 's/bond/distance/'`