我已经找到了一个似乎是一个简单问题的答案,但我觉得所有这些问题(下面)只是简单地触及了这个问题和/或使解决方案过于复杂。
Read a file and split each line into two variables with bash program
Bash read from file and store to variables
Need to assign the contents of a text file to a variable in a bash script
我想要做的是从文件中读取特定行(标题为'输入'),存储变量然后使用它们。
例如,在此代码中,某个点之后的每第9行包含一个文件名,我想将其存储为变量供以后使用。我怎么能这样做?
steps=49
for((i=1;i<=${steps};i++)); do
...
g=$((9 * $i + 28)) #In.omega filename
`
对于更大的图片,我基本上需要从文件中打印一个特定的行(第9行),该文件的名称在名为&#34的文件的 g 行中指定;输入&#34 ;
sed '1,39p;d' data > temp
sed "9,9p;d" [filename specified in line g of input] >> temp
sed '41,$p;d' data >> temp
mv temp data
答案 0 :(得分:0)
假设您要将$FILE
文件的第49行行分配给$ARG
变量,您可以执行以下操作:
$ ARG=`cat $FILE | head -49 | tail -1`
答案 1 :(得分:0)
获取名为input:
的文件的第g行中命名的文件的第9行sed -n 9p "$(sed -n ${g}p input)"
答案 2 :(得分:0)
arg=$(cat sample.txt | sed -n '2p')
其中arg
是变量,sample.txt
是文件,2
是行号