给出:file:files.txt with:
sara.gap sara.gao
pe.gap pe.gao
我只是想在我的bash skript中使用f = sara,因为我后来需要f。所以我试着:获得第一行,第二个参数,删除.gao并保存在f
f=sed -ne '1p' files.txt |cut -d " " -f2 |sed 's/.gao//g'
但是没有用,请帮助我;(
答案 0 :(得分:3)
你只需要反叛:
f=`head -1 files.txt | cut -d " " -f2 | sed 's/.gao//g'`
答案 1 :(得分:1)
我会做
read f junk < files.txt
f=${f%*.gap}
哦,第二个论点:
read junk f junk < files.txt
f=${f%*.gao}
那完全是在bash中: - )
答案 2 :(得分:1)
如果要使用命令的输出来设置变量,请使用Command Substitution。格式为v=$(command)
。你也可以使用反引号,例如v=`command`
,但已被$(...)
表单取代。
你的命令是:
f=$(sed -ne '1p' files.txt |cut -d " " -f2 |sed 's/.gao//g')
echo $f
打印
sara
答案 3 :(得分:0)
f="sed -ne '1p' files.txt |cut -d ' ' -f2 |sed 's/.gao//g'"
eval "$f"
带输出:
sara
答案 4 :(得分:0)
您也可以使用awk
f=$(awk 'NR==1{gsub(/\.gao/,"",$2);print $2;exit}' file)