shell-awk和sed使用中遇到的问题

1.awk给shell变量赋值:

var=`cat info.txt | awk -F'=' 'NR==2 {printf $2}'`   //注释:将info.txt文件第二行,以=为分隔符,分割后的第二个字段赋值给变量var.

注:第一个`并不是单引号',而是~那个键上的`

2.sed引用shell变量进行替换:

eval sed -i 's/$s1/$s2/g' info.txt

其他方法:
1.sed "s/$a/$b/" filename
2.sed ’s/’$a’/’$b’/’ filename 
3.sed s/$a/$b/ filename

注:s1和s2都是shell变量,sed前需要加eval

3. 统计文本的行数

文件test1.txt有17行

awk '{print NR}' test1.txt | tail -n1

管道前打印所有行号,管道后则打印最后一行

或者:

awk 'END{print NR}' test1.txt



你可能感兴趣的:(Linux)