例如file.txt中有如下行
# of k-points: 1 # of bands: 16 # of ions: 9
现在想用sed命令达到赋值的目的
point_num=1
band_num=16
ion_num=9
的目的
第1个回答 2017-12-03
一条语句搞定,假定你要找到最后一个ABC以及后面的10行, 当然这条语句能够执行的基础是,1.log里确实有ABC这个字符串,否则下面一条语句就会出现失败,更好的方法是在脚本中分成两条语句,一条语句判断是否有ABC以及行号,第二条语句是用sed来打印。你可以自己根据下面的命令来搞定,我就不多说了。
sed -n "$(grep -n ABC 1.log | tail -1 | cut -d : -f 1),+10p" ABC.log追问
sed -n "$(grep -n ABC 1.log | tail -1 | cut -d : -f 1),+10p" ABC.log追问
问题是我要在一行里面提取三个值啊,cut -d : -f 1做不到啊,应该会把后面#的东西一起加上吧,而且我并不想要后面的10行内容,只是想赋值