5月28号 晚上8点:
文件格式如下:
123abc456
456def123
567abc789
789def567
要求输出:
456ABC123
123DEF456
789ABC567
567DEF789
初看上去知道这里需要用到大小写字母转化,还有数字位置转换等:
[root@fsailing1 shell]# sed 'y/abcdef/ABCDEF/' chen1.txt 123ABC456 456DEF123 567ABC789 789DEF567 [root@fsailing1 shell]# sed -r 's/([1-9]{3})([a-f]{3})([1-9]{3})/\3\2\1/g' chen1.txt 456abc123 123def456 789abc567 567def789 结合起来就是: [root@fsailing1 shell]# sed -r 's/([1-9]{3})([a-f]{3})([1-9]{3})/\3\2\1/g;y/abcdef/ABCDEF/' chen1.txt 456ABC123 123DEF456 789ABC567 567DEF7895月29号 下午4点
[root@fsailing1 shell]# sed 's/a/f/' chen.txt f a a a a fa b b b b b bb c c c c c cc d d d d d dd [root@fsailing1 shell]# sed 's/a/f/g' chen.txt f f f f f ff b b b b b bb c c c c c cc d d d d d dd5月30号下午2点:
文档的格式:
aa:bb
cc:dd
转变成:
bb:aa
dd:cc
[root@fsailing1 shell]# sed 's/\(.*\):\(.*\)/\2:\1/' chen1.txt 其中:这里反斜杠的意义在于转义字符。 bb:aa dd:cc ff:ee ii:hh5月31号下午4点:
册除空行和带#号的这一行:
在正则表达式中“.”表示任意一个字符,“*”表示任意多个前面的字符。
我们知道以什么字符开头的正则表达式是“^”开头的,那么空行就是“^$”表示以空开头以空结尾。
sed '/^$/d' /etc/vsftpd/vsftpd.conf 还有带有#号的也要删除,
sed '/\#.*/d' /etc/vsftpd/vsftpd.conf [root@fsailing1 /]# sed -e '/^$/d' -e '/\#.*/d' /etc/vsftpd/vsftpd.conf anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES