请问linux下sed这句话是什么含义?sed -n -e '/^.\{40\}[0-9]\{16\}.*/p' $1 | awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}' | sed -e 's/^M/ /g
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 13:44:11
![请问linux下sed这句话是什么含义?sed -n -e '/^.\{40\}[0-9]\{16\}.*/p' $1 | awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}' | sed -e 's/^M/ /g](/uploads/image/z/10063456-16-6.jpg?t=%E8%AF%B7%E9%97%AElinux%E4%B8%8Bsed%E8%BF%99%E5%8F%A5%E8%AF%9D%E6%98%AF%E4%BB%80%E4%B9%88%E5%90%AB%E4%B9%89%3Fsed+-n+-e+%27%2F%5E.%5C%7B40%5C%7D%5B0-9%5D%5C%7B16%5C%7D.%2A%2Fp%27+%241+%7C+awk+%27BEGIN%7Bi%3D1%7D%7Bi%3Di%2A%28-1%29%3B+if+%28i%3D%3D-1%29+printf+%240%3Belse+print+%240%7D%27+%7C+sed+-e+%27s%2F%5EM%2F+%2Fg)
请问linux下sed这句话是什么含义?sed -n -e '/^.\{40\}[0-9]\{16\}.*/p' $1 | awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}' | sed -e 's/^M/ /g
请问linux下sed这句话是什么含义?
sed -n -e '/^.\{40\}[0-9]\{16\}.*/p' $1 | awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}' | sed -e 's/^M/ /g
请问linux下sed这句话是什么含义?sed -n -e '/^.\{40\}[0-9]\{16\}.*/p' $1 | awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}' | sed -e 's/^M/ /g
1、sed中的-n和-e参数就不多说,一搜很多
2、'/^.\{40\}[0-9]\{16\}.*/p' 正则表达式,匹配以.开头且前面有40个.符号,后面接16个任意阿拉伯数字,在接.符号,再接任意字符
3、$1,带入的第一个参数,应该是文件名
4、awk 'BEGIN{i=1}{i=i*(-1); if (i==-1) printf $0;else print $0}'
开始变量i赋予1,i=i*(-1),如果i==-1则输出SED匹配的所有行,否则也输出SED匹配的所有行
5、sed -e 's/^M/ /g' 把文件中的^M去掉