如何使用 Bash 脚本从另一个文件中检索名称?

如何使用 Bash 脚本从另一个文件中检索名称?

我想从另一个预定义文件中获取一个名称并在我的 shell 脚本中使用它。

读取的文件将采用./docs/description.org 以下格式(格式表.org):

...some text
| Time | 12.00      |
| Name | D0_50_H04  |
| blah | blah       |
... more text

该名称保证没有空格(它将是字母数字+下划线),并且它将被管道|字符包围,位于紧接着包含单词“Name”的唯一行的列中。

我想读取名称值(在本例中为“D0_50_H04”)并在 shell 脚本中使用它。

我的 Bash 脚本如下所示:

#!/bin/bash

...some stuff

#Read in the model name
ModelName = #how do I do this??

#Create that directory
mkdir $SCRATCHDIR/$ModelName
cd $SCRATCHDIR/$ModelName

..continue working in that new dir

我原本想使用 grep,但无法让它正常工作。
有人能帮忙吗?

答案1

尝试一下:awk '\Modelname\ {print}' directory/of/the/file

答案2

什么对你不起作用grep? 尝试看看命令。你正在查看类似以下内容的内容:

grep YourFileNameHere -e "| Name |" | cut -d " " -f 4

这应该解析YourFileNameHere并查找包含的行| Name |,然后将该行传递给cut将在(空格)分隔符之间选择第 4 个标记的命令,根据您的描述应该是D0_50_H04

相关内容