我有一个这样的文本文件:
1.2.3.t
1.2.4.t
complete
我需要打印最后一个非空行和两行作为两个变量。输出应该是:
a=1.2.4.t
b=complete
我为最后一行尝试了这个:
B = awk '/./{line=$0} END{print line}' myfile
但是我不知道。
答案 0 :(得分:2)
grep . file | tail -n 2 | sed 's/^ *//;1s/^/a=/;2s/^/b=/'
输出:
a=1.2.4.t b=complete
答案 1 :(得分:1)
awk
救援!
$ awk 'NF{a=b;b=$0} END{print "a="a;print "b="b}' file
a=1.2.4.t
b=complete
或者,如果你想要真正的变量赋值
$ awk 'NF{a=b;b=$0} END{print a, b}' file
| read a b; echo "a="$a; echo "b="$b
a=1.2.4.t
b=complete
如果值中有反斜杠,则可能需要read
的-r选项。