bash在变量中保存值
给定:file:files.txt,带有:bash在变量中保存值,bash,shell,Bash,Shell,给定:file:files.txt,带有: sara.gap sara.gao pe.gap pe.gao 我只想在我的bash脚本中使用f=sara,因为我以后在脚本中需要f。所以我试着:获取第一行,第二个参数,删除.gao并保存在f中 f=sed -ne '1p' files.txt |cut -d " " -f2 |sed 's/.gao//g' 但是没有工作,请帮帮我 您只需要反勾号: f=`head -1 files.txt | cut -d " " -f2 | sed 's/.
sara.gap sara.gao
pe.gap pe.gao
我只想在我的bash脚本中使用f=sara,因为我以后在脚本中需要f。所以我试着:获取第一行,第二个参数,删除.gao并保存在f中
f=sed -ne '1p' files.txt |cut -d " " -f2 |sed 's/.gao//g'
但是没有工作,请帮帮我 您只需要反勾号:
f=`head -1 files.txt | cut -d " " -f2 | sed 's/.gao//g'`
我愿意
哦,第二个论点是:
read junk f junk < files.txt
f=${f%*.gao}
这完全在bash中实现:-如果要使用命令的输出来设置变量,请使用。格式为v=$command。您也可以使用反勾号,例如v=`command`,但它已被$。。。形式
你的命令是:
f=$(sed -ne '1p' files.txt |cut -d " " -f2 |sed 's/.gao//g')
echo $f
印刷品
sara
你是说这个
f="sed -ne '1p' files.txt |cut -d ' ' -f2 |sed 's/.gao//g'"
eval "$f"
输出:
sara
您也可以使用awk
谢谢,但我有在f洞命令,而不是地图字符串在这里莎拉?很抱歉,我不明白你的评论。你能试着重新措辞吗?别误会我的意思,但你应该努力学习英语,要理解你说的话真的很难。至少尝试一些拼写检查sed 1q文件将比sed-n 1p文件更有效,因为它将在第一行之后退出,而后者必须读取整个文件。
sara
f=$(awk 'NR==1{gsub(/\.gao/,"",$2);print $2;exit}' file)