#!/bin/bash
for file in ./*.log
do
#清除^M是windos的dos文件格式特有的换行符
sed -i "s/\r//" $file
#匹配以(开头,包含I2C read data:及其后面一行的行,然后删除I2C read data:,然后将per i2c read 0x51替代成R, 然后将per i2c write 0x51替换成W,
# 然后先匹配W的行,再将第二个空格替换成换行符\n
cat $file | \
sed -n '/^(\|per i2c/p; /I2C read data:/,+1p' | sed '/I2C read data:/d' | sed 's/per i2c read 0x51/R/g; s/per i2c write 0x51/W/g' | sed '/W/ s| |\n|2'> ./test/$file
#在匹配行的下一行增加内容
#sed '/write/a\$'
补充:
sed -i 's/../&\ /g' full-omci-dump.txt //将omci报文每字节以空格隔开
sed -i 's/^/000000 /g' 1.txt //在每行前面加6个0
done
cat mars.txt |awk ' { $2=null;$3=null;$4=NULL;print $0 }' //删除某几列