learn Linux sed command

                                  learn Linux sed command

一、参考文档:
    1. sed命令详解
        http://qifuguang.me/2015/09/21/sed%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/
    2. linux之sed用法
        http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html
    3. Sed 的man手册参数详细解释(一)
        http://blog.csdn.net/imfinger/article/details/6071175

二、sed命令的使用规则是这样的:
    sed [option] 'command' input_file

三、options:
    -n, --quiet, --silent
        suppress automatic printing of pattern space
    -e script, --expression=script
        add the script to the commands to be executed
        如果命令行上只有一个指令的时候可以不用写-e,但是如果有多个指令的话一定要在每个指令的前面加-e选项。
    -f script-file, --file=script-file
        add the contents of script-file to the commands to be executed
        这里貌似是前面对应的-e对应的脚本
    --follow-symlinks
        follow symlinks when processing in place
    -i[SUFFIX], --in-place[=SUFFIX]
        edit files in place (makes backup if extension supplied)
    -l N, --line-length=N
        specify the desired line-wrap length for the `l' command
    --posix
        disable all GNU extensions.
    -r, --regexp-extended
        use extended regular expressions in the script.
    -s, --separate
        consider  files  as  separate rather than as a single continuous
        long stream.
    -u, --unbuffered
        load minimal amounts of data from the input files and flush  the
        output buffers more often
    --help
        display this help and exit
    --version
        output version information and exit

四、command有以下几种:
    a \: append即追加字符串, a \的后面跟上字符串s(多行字符串可以用\n分隔),则会在当前选择的行的后面都加上字符串s;
    c \: 取代/替换字符串,c \后面跟上字符串s(多行字符串可以用\n分隔),则会将当前选中的行替换成字符串s;
    d  : delete即删除,该命令会将当前选中的行删除;
    i \: insert即插入字符串,i \后面跟上字符串s(多行字符串可以用\n分隔),则会在当前选中的行的前面都插入字符串s;
    p  : print即打印,该命令会打印当前选择的行到屏幕上;
    s  : 替换,通常s命令的用法是这样的:1,2s/old/new/g,将old字符串替换成new字符串

 

时间: 2024-12-26 07:56:52

learn Linux sed command的相关文章

linux下command not found 问题

问题描述 linux下command not found 问题 今天装了下jdk修改了下环境变量 然后退出putty再次登录的时候就会出现 command not found的问题 使用exportPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 可以使用 但是下次登录的时候还是command not found 好烦啊 解决方案 http://blog.sina.com.cn/s/blog_6

linux脚本command not found

问题描述 linux脚本command not found 脚本如下 各路大神帮帮忙 解决方案 先看看你的gcc是否有安装成功,命令行能否支持执行 解决方案二: 类似gcc -c -O gfdec.c这样的命令不报错 解决方案三: Makefile不是用./Makefile执行的,使用make命令执行 ./file执行的是可执行的文件,一般的二进制文件或者是shell脚本之类的 解决方案四: fdisk-- command not found. ifconfig-- command not fo

Linux sed 替换第一次出现的字符串

/********************************************************************************* * Linux sed 替换第一次出现的字符串 * 说明: * 需要替换配置文件中第一次出现的文本内容. * * 2016-12-16 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考

linux sed 常用用法举例01

判断是否以. 开头 echo .abc |grep "^\." ;echo $?         判断是否以/ 开头 echo /abc |grep "^/" ;echo $?        <!--[endif]-->判断是否以\ 开头 echo "\abc"  |grep "^\\\\" ;echo $?        <!--[endif]-->sed 多次修改 两种方式:可以使用-e ,也可以使

解决linux 出现command not found 错误

在很多人学习linux命令行,会经常遇到command not found 错误,出现上述错误主要有以下几种情况: 命令书写错误,如有些人将windows命令与linux命令搞错,如查看ip相关信息,linux命令行应该为ifconfig 环境变量没有配置好,这里一般有两种解决方法,第一,可以切换到root用户执行命令,第二种,就是配置用户的环境变量,其指令如下: export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/u

Linux sed命令学习

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] 'command' 输入文本         常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来.      

linux sed命令详解

  sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等. sed使用参数 复制代码 代码如下: [root@www ~]# sed [-nefr] [动作] 选项与参

linux sed

原始文件的内容:代码如下:[root@localhost ~]# cat file.txthello worlda:b:c -h -na:b:c -h -n sed根据条件删除相关的行:代码如下:[root@localhost ~]# sed -i '/a:b:c -h -n/d' file.txt[root@localhost ~]# cat file.txthello world sed根据条件进行相关内容的替换:代码如下:[root@localhost ~]# sed -i 's/hell

linux sed 批量替换字符串方法详解

比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录 -l 表示输出匹配的文件名 这个命令组合很强大,要注意备份文件. (1)sed 'y/1234567890/ABCDEFGHIJ/' test_sed sed 'y/1234567890/ABCDEFGH