【发布时间】:2016-09-30 12:46:29
【问题描述】:
这是我的第一篇文章,我对 bash 编码相当陌生。 我们在我工作的地方进行了一些实验,为了在 gnuplot 中绘制它,我们需要将反应标签附加到结果。
我们有一个如下所示的文件:
G135b CH2O+HCO=O2+C2H3
R020b 2CO+H=OH+C2O
R021b 2CO+O=O2+C2O
和一个结果文件(我现在无法访问,抱歉),其中显示文件的第一列是相同的,然后是多个值。它们的顺序不同。 现在我想遍历结果文件并获取第一列的值,在显示的文件中搜索它并将反应标签附加到该行。
-
如何遍历结果文件的所有行并获取临时变量中第一列的值? 我想像这样使用这个变量:
grep -r '^$var' shownfile | awk '{print $2}'(返回如下内容:CH2O+HCO=O2+C2H3)
如何将该行的结果附加到结果文件中?
编辑:我还写了一个脚本来从一个看起来像这样的文件:
G135b : 0.178273 C H 2 O + H C O = O 2 + C 2 H 3
对此:
G135b CH2O+HCO=O2+C2H3
这是:
#!/bin/bash
file=$(pwd)
cd $file
# echo "$file"
cut -f1,3 $file/newfile >>tmpfile
sed -i "s/://g" tmpfile
sed -i "s/ //g" tmpfile
cp tmpfile newfile
- 如何在文件中执行剪切命令?就像 -i 用于 sed。我的解决方法非常难看,因为它会在当前目录中创建另一个文件。
谢谢你:)
【问题讨论】: