[shell基础]——sed命令】的更多相关文章

关于sed sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕.接着处理下一行,这样不断重复,直到文件末尾.文件内容并没有 改变,除非你使用重定向存储输出.sed主要用来自动编辑一个或多个文件:简化对文件的反复操作:编写转换程序等. sed详解 sed  [选项]  sed编辑命令  输入文件shell 命令 |  sed  [选项]   s…
http://blog.sina.com.cn/s/blog_a56ef5490101cn58.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加…
sed用于一次性处理所有的编辑任务,尤为高效,为用户节省了大量的时间,sed适用于以下三种场合: 1.编辑相对交互文本编辑器而言太大的文件: 2.编辑命令太复杂,在交互式文本编辑器中难以输入的情况: 3.对文件扫描一遍,但是需要执行多个编辑函数的情况: sed 只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件.因此,如果需要保存改动内容,需要将输出重定向到另一个文件,可以使用下面格式的命令: sed  'sed命令'  input_file > result_file 该命令将sed 命…
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:         sed [-nefri] ‘command’ 输入文本 常用选项:        -n∶使用安静(silent)模式.在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上.但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来.        -e∶直接在…
sed命令用于在线编辑文本,它一次处理一行内容. 命令语法: sed [-n/e/f/r/i] [cmd] [InFile] 参数解释: 选项与参数: -n: quiet/silent,安静模式,经过sed处理过的行才会被列出来 -e script: 将script脚本添加到要执行的命令中 -f script-file: 将script-file的内容添加到要执行的命令中,即直接运行script-file内的sed命令: -i: 直接编辑源文件 -r: redxp-extended,在脚本中使用…
转自 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html 昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了sed命令上,今天不总结一下都对不起昨天流逝的时间啊~~~ 用sed命令在行首或行尾添加字符的命令有以下几种: 假设处理的文本为test.file 在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAI…
test :用于文件类型检查和变量比较 一.用途: 1.判断表达式 2.判断字符串 3.判断整数 4.判断文件 测试例子: (1).test [root@~_~ day5]# cat test.sh #!/bin/bash a=$1 b=$2 if test $a -eq $b then echo "a=b" else echo "a!=b" fi [root@~_~ day5]# sh test.sh 1 1 a=b [root@~_~ day5]# sh tes…
概述 sed 是一种几乎可以应用在所有 UNIX 平台(包括 Linux)上的轻量级流编辑器,体积小.所以,它可以对从如管道这样的标准输入中接收的数据进行编辑. sed 主要是用来将数据进行选取.替换.删除.新増的命令.我们看看命令的语法: [root@localhost ~] # sed [选项] '[动作]' 文件名 选项: -n:一般 sed 命令会把所有数据都输出到屏幕上.如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕上: -e: 允许对输入数据应用多条 sed 命令编辑:…
sed 命令 作为行编辑器,对文件进行编辑(以行为单位进行编辑) sed编辑文件,却不改变原文件 sed工作原理: 指定一个文本文件,依次读取文本文件中的每行内容,读取到模式空间中,在模式空间中进行匹配,对匹配后的内容进行修改 用法: -n 拒绝默认显示 -r 指定用扩展的正则表达式 匹配ip .所有的\都不要,.|或者 -e script for while if -l 指定文本换行长度 地址定界方式: .直接匹配数值:sed -n '5p' 文件 .d~指定步长:sed -n '1~3p'…
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \                        //-d 判断是否存在,在shell中,用[]号代替括号 rm -rf xxx;  \ fi; @cp -fv  xxx  xxxx     //-f 删除已经存在的目标文件而不提示  -v  cp命令将告诉用户正在做什么 例:  cp -fv temp temp2 显示: 'temp'  ->  'temp2'…
find命令选项 -name 按照文件名查找 -type 查找某一类型的文件(b 代表设备块:d 目录:c 字符设备文件:l 符号(软)链接文件:f 普通文件) -size 查找文件长度或者大小 -prune 查找文件时排除当前文件夹,不查找 -path -depth 查找文件时,首先查找当前文件.当前目录中的文件,然后再在其子目录当中查找 -maxdepth 后面跟数字num,表示在当前目录下往下num层深度(默认为1层) -perm 按照文件权限来查找 -user 可以按照文件属主来查找 -…
read命令:在shell中主要用于读取输入.变量.文本 1. 接受标准输入(键盘)的输入,并将输入的数据赋值给设置的变量      [按回车键——表示输入完毕]      [若输入的数据多于设置的变量数,则将多出的部分全部赋给最后一个变量]     [若没有设置变量,则将输入的数据赋给环境变量REPLAY] #!/bin/bash echo -n "Enter your name:" read name1 name2 echo hello,$name1,$name2 # ./read…
echo命令:在shell中主要用于输出 1. -n     不换行的显示结果(默认是换行的) 2. -e " "  支持双引号中使用一些特殊字符 常用的特殊字符有 \a 发出警告声: \b 删除前一个字符: \c 最后不加上换行符号: \f.\v 换行但光标仍旧停留在原来的位置: \n 换行且光标移至行首: \r 光标移至行首,但不换行: \t 插入tab: \\ 插入\字符: \nnn 插入nnn(八进制)所代表的ASCII字符: 3. 用echo命令打印特效和颜色文字 文字颜色码…
sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项      -c 测试文件是否已经被排序 -r  逆向排序      -n 按照数字数值大小排序 -t  指定分割符      -k 指定域 -u 去除结果中的重复行      -m 合并两个已排序的文件      -o 将输出写到指定的文件 (1) -u 排序后去除重复行 # cat 1.txt 1:datadir=/aaa/zzz: 2:basedir=:cc 4:datadir=/sdfsfsd:dd 3…
uniq命令常见选项      去除重复行      -u  显示不重复的行      -d  显示有重复的行      -c  打印每一行重复的次数 测试文本内容如下: # cat 4.txt 111 111 2222 2222 3333 3333 4444 (1)uniq# cat 4.txt | uniq 去重复行111222233334444 要注意!:uniq只去除相邻的重复行 # cat 1.txt aaa aaa 123 bbb 123 # uniq 1.txt aaa 123 b…
cut命令常见选项…
关于awk awk是一个强大的文本分析工具,相对于grep的查找.sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理. awk有3个不同版本: awk.nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本. 本文用的测试文本 # cat -n passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin…
一.cat的常用用法 1.总结 2.实验 (1).非交互式编辑 [root@~_~ day5]# cat > cattest.sh <<STOP > hello > STOP [root@~_~ day5]# cat cattest.sh hello [root@~_~ day5]# cat > cattest.sh << EOF hello cat with EOF EOF [root@~_~ day5]# cat cattest.sh hello cat…
Bash命令大体可以分为两类: 第一类是可执行文件,例如ls等 第二类是Bash内建命令,常见echo,cd等 bash命令优先级表:1别名  由alias指定 2关键字 3函数  由function(){}定义 4内置命令  builtin命令 5脚本或可执行程序  $Path和当前路径中的脚本或可执行文件…
read命令 read 命令用于接收标准输入(键盘)的输入,或者其他文件描述符的输入.得到输入后,read 命令将数据放入一个标准变量中,read 命令格式如下: [root@localhost ~]# read [选项] [变量名] 选项: -p "提示信息":在等待read输入时,输出提示信息: -t 秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间: -n 字符数:read命令只接收指定的字符数就会执行: -s: 隐藏输入的数据,适用于机密信息的输入: 变量名:…
sed -i '/cd ${LDIR_DEST}\/webextend\/pc && ln -s \/hard\/www_winclient\/bboxpc.exe ./a\ \tcd ${LDIR_DEST}\/webextend\/pc && ln -s \/hard\/www_winclient\/'$i' .' #參考别人后自己改的,主要是加了个变量 sed -i '4i dfsdfdsad' xxx.txt #Insert contents between the…
(1) tr 字符替换 测试文本内容 # cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 loalhost localhost.localdomain localhost6 localhost6.localdomain6 把小写字母替换成大写字母 # tr "[a-z]" "[A-Z]" < /etc/hosts 12…
测试文本 # cat name1.txt name1 alvin1 name2 alvin2 name3 alvin3 name4 alvin4 此时目录下就只有这个文件 # ls name1.txt 每一行切割成一个文件 # split -1 name1.txt 看这个时候目录下有几个文件了? # ls name1.txt xaa xab xac xad 每个文件里面的内容是啥? # cat xaa name1 alvin1 # cat xab name2 alvin2 # cat xac n…
测试文本内容 # cat -n name1.txt 1 name1 alvin1 2 name2 alvin2 3 name3 alvin3 4 name4 alvin4 # cat -n name2.txt 1 name1 100 2 name2 101 3 name3 102 4 cccccccccccccccc (1) join 显示匹配的行,并将值合并(ccc和name4不匹配所以不显示) # join name1.txt name2.txt name1 alvin1 100 name2…
测试文本内容如下: # cat name1.txt name1 alvin1 name2 alvin2 name3 alvin3 name4 alvin4 # cat name2.txt name1 100 name2 101 name3 102 cccccccccccccccc (1) paste 将两个文件的每行一一对应合并 # paste name1.txt name2.txt name1 alvin1 name1 100 name2 alvin2 name2 101 name3 alvi…
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/DragonFire/p/6600121.html 这里我们要做的功能是: 输入一个目录"/data/data8" 在shell中将其变换为"\/data\/data8" (这是为了能在shell后边的sed命令中直接使用) 先来看看直接使用命令如何实现: echo “/…
在每行的头添加字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file 在每行的行尾添加字符,比如“TAIL”,命令如下: sed 's/$/&TAIL/g' test.file 参考 1. linux shell 用sed命令在文本的行尾或行首添加字符 http://www.cnblogs.com/aaronwxb/archive/2011/08/19/2145364.html…
在 shell 编程中,常需要处理文本,这里介绍几个文本处理命令. 一.grep 命令 grep 命令由来已久,用 grep 命令来查找 文本十分方便.在 POSIX 系统上,grep 可以在两种正则表达式风格中选择一种(BRE 和 ERE),或是执行简单的字符串匹配.传统上,有三种程序可以用来查找整个文本文件: 1)grep:最早的文本匹配程序.使用 POSIX 标准定义的基本正则表达(Basic Regular Expression,BRE); 2)egrep:扩展 grep.使用扩展正则表…
一.sed命令 sed是一种强大的流式编辑器 (stream editor for filtering and transforming text),它能够完美的使用正则表达式,逐行处理文本并把结果显示到屏幕上.sed的强项是替换文本中的特定字符,而写shell有个步骤就是从一段文本中截取一段字符进行处理,所以熟练掌握sed命令是写shell脚本的基本技能. 用法:sed [选项]... {脚本(如果没有其他脚本)} [输入文件] sed [options] 'command' file(s)…
目录 1.sed命令说明 2.行数据操作 (1)查看文件中的数据 (2)删除文件中的数据 (3)向文件中追加数据 (4)向文件中插入数据 (5)修改文件中的多行数据(删除,追加,插入) (6)替换文件中的整行文本 (7)字符串替换 (8)同时执行多条动作 3.总结 1.sed命令说明 sed主要是用来将数据进行选取.替换.删除.新增的命令,grep,awk,sed称为是文本操作三剑客. 我们看看sed命令的语法格式: [root@localhost ~]# sed [选项] '[动作]' 文件名…