查询:
csv表格如下:
1,Dev1,Dev2,Dev3,Dev4,Dev5,Dev6,Dev7,Dev8,
Dev1,1,ff,ff,EE,FF,FF,FF,FF,FF,FF,FF,FF,
Dev2,01,0,88,45,67,89,ab,cd,ef,FF,FF,FF,
Dev3,FC,F0,0,EE,FF,FF,FF,FF,FF,FF,FF,FF,
查看:cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{print $4}'
设置:cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"'
修改并写入:sed -i '8c '"$(cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"')"'' filter_tab.csv
生效:
sed -i '8c '"$(cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"')"'' filter_tab.csv
1 -查看cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"
2p则选择第二行!
2 awk -F ',' '{OFS=","} $4="55"')",选择第二行的第四列,赋值替代=55
3.写入文件中去-sed -i
附:
a=$(command),可以将命令执行结果赋值给a,
如:
$(cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"')
sed命令使用单引号的情况下,可以使用'"$var"'引用(单引号,然后双引号,变量)
'"$(cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"')"'
引用:
比如:sed "8c '"$a"' " file
或
sed -i '8c '"$(cat /home/fhsj_app/filter_tab.csv |grep Dev2,|sed -n "2p"|awk -F ',' '{OFS=","} $4="55"')"'' filter_tab.csv