Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将.txt文件的特定内容分配给bash变量_Bash_Variables_Text_Terminal - Fatal编程技术网

将.txt文件的特定内容分配给bash变量

将.txt文件的特定内容分配给bash变量,bash,variables,text,terminal,Bash,Variables,Text,Terminal,我有一个txt文件,我想从文本文件及其多行中指定一个特定的单词。e、 假设文本文件是这个句子,值0.78是我想要分配的值。我该怎么做?我不知道您的上下文是什么,但假设您希望匹配文本文件中“value”一词后面的数字,并且希望在纯Bash中执行此操作: $ [[ $(<yourfile.txt) =~ value\ ([0-9.]*) ]] && echo ${BASH_REMATCH[1]} 0.78 $[[$(我猜您正在查找一个数字,因此我将提取任何看起来像数字的内容:

我有一个txt文件,我想从文本文件及其多行中指定一个特定的单词。e、 假设文本文件是这个句子,值0.78是我想要分配的值。我该怎么做?

我不知道您的上下文是什么,但假设您希望匹配文本文件中“value”一词后面的数字,并且希望在纯Bash中执行此操作:

$ [[ $(<yourfile.txt) =~ value\ ([0-9.]*) ]] && echo ${BASH_REMATCH[1]}
0.78

$[[$(我猜您正在查找一个数字,因此我将提取任何看起来像数字的内容:

grep -Ewo "[+-]?[0-9]*\.?[0-9]+" file
echo $n

0.78
正则表达式说它可以在开头有一个可选的+/-,一些可选的数字,一个可选的小数点和更多的数字

如果您只希望数字中有一个小数点,并且希望在
bash
变量中有一个小数点,请执行以下操作

var=$(grep -Ewo "[+-]?[0-9]*\.[0-9]*" file)
echo $var

很难从你说的话中理解你想做什么。请详细说明我尝试了这个命令,返回的结果很正常,但让我更具体一点:在txt文件中有两个数字,一个是患者ID,它像100454,我想要的数字总是(-)0.35.它总是有一个点。使用上面的命令,两个数字都会返回,但我只希望第二个数字,而且我希望它存储在一个bash变量中。如果我执行类似var=the_correct_命令的操作,我可以将该数字作为bash变量吗?现在请再看一看。这是可行的,但var仍然包含两个数字。我想只有第二个。