当前位置: 首页 > Linux

20个使用sed命令替换-删除文本字符的例子

时间:2023-04-06 23:02:25 Linux

简介下文将介绍20个使用linuxsed命令删除和替换文件中指定字符的例子。sed替换字符的命令格式如下:$sed's/find/replace/'file示例文件:$catfileLinuxSolarisUbuntuFedoraRedHat1.删除指定字符,如'a'$sed's/a//'fileLinuxSolrisUbuntuFedorRedHt上面的命令会删除每行匹配的第一个'a'字符,如果你想删除每行中的所有'a'字符:$sed's/a//g'file2。删除每行的第一个字符$sed's/^.//'fileinuxolarisbuntuedoraedHat。谁匹配任意单个字符,^指定匹配每行的开头。下面的命令也可以达到同样的效果$sed's/.//'file因为sed命令默认是从头开始匹配字符串,所以使用.匹配开头的第一个字符。3.删除每行的最后一个字符。$sed's/.$//'fileLinuSolariUbuntFedorRedHa$将匹配每一行的末尾。4、同时去掉每行的第一个字符和最后一个字符'split5.去掉每行第一个匹配的字符,如果没有匹配,不处理$sed's/^F//'fileLinuxSolarisUbuntuedoraRedHat上面命令去掉第一个匹配F的字符6.Move除了最后一个匹配每行字符,如果不匹配,则不处理行三个字符$sed's/...//'fileuxarisntuoraHat8.删除每行第一个到第n个字符$sed-r's/.{4}//'filexristuraat.{n}匹配n次任意一个字符9.删除每行最后n个字符$sed-r's/.{3}$//'fileLiSolaUbuFedRed10。除了每行的第一个到第n个字符,其余的必须删除$sed-r's/(.{3}).*/\1/'fileLinSolUbuFedRed.{3}匹配每行的前3个字符,并与()分组;.*表示匹配任意数量的字符。在替换位置传递\1表示保留第一组的内容。11、删除每行所有字符,保留最后n个字符$sed-r's/.*(.{3})/\1/'filenuxrisntuoraHat12.删除每行匹配的多个字符$sed's/[aoe]//g'fileLinuxSlrisUbuntuFdrRdHt[]指定要匹配的多个字符,g表示删除每行所有匹配的字符13.删除匹配的字符串$sed's/lari//g'fileLinuxSosUbuntuFedoraRedHat'lari'从'Solaris'中删除14。删除每行匹配到的第n个字符$sed's/u//2'fileLinuxSolarisUbuntuFedoraRedHat默认情况下,sed只会处理匹配到的第一个字符,你可以指定匹配到的字符个数,如上,Ubuntu删除第二个匹配到的字符特点。15.删除每行中以某个字符开头的子字符串$sed's/a.*//'fileLinuxSolUbuntuFedorRedH16.删除文件中每一行出现的所有数字$sed's/[0-9]//g'file17.删除每行中出现的小写字符$sed's/[a-z]//g'fileLSUFRH18。删除除小写字符之外的所有字符$sed's/[^a-z]//g'fileinuxolarisbuntuedoraedat19。删除每行中的所有字母数字字符$sed's/[a-z][A-Z][0-9]//g'file20.从每一行中删除一个字符,忽略大小写$sed's/[uU]//g'LinxSolarisbntFedoraRedHat