导航:首页 > 程序命令 > aix的sed命令

aix的sed命令

发布时间:2023-05-29 12:16:34

㈠ sed 修改/替换文件内容

最近在写SH脚本,实现一键部署,敏告雹其中有些环境参数是会随着现场实际情况改变而变跟的,或者说修改一些配置文件的选项值,最终找到我桥帆们的sed 命令来解决(echo "">> filename 只能添加到文件最后)

sed 命令解释如下:

我们要使用的一般都是-e 或者 -i 其他的不怎么常用。关键点在于中间友洞的脚本;
脚本详情如下:

参考地址: https://www.cnblogs.com/ginvip/p/6376049.html

㈡ aix sed命令

\| 删除

|前面加个空格

㈢ AIX中怎么用sed把某字符转换成换行符

sed -n 's/aaa/bbb/g' 这是把匹配拍虚到的aaa替换成bbb,-n选项不会直接修改源文件袭贺燃。
想修改源文件要使用-i选项。这样写:
sed -i '拍虚s/aaa/bbb/g' 1.txt 这样就把文件1.txt中所有的aaa都替换成了bbb,后面的g是全局匹配的意思。

㈣ Aix操作系统中的sed命令,我想替换文本中的不可见字符,即:0x0f,请问如何写

sed 's/\x0f/newcharacter/g' yourfile

试试

㈤ sed的基本用法

sed -n 'n,p' FILE:  显示偶数行

sed '1!G;h;$!d' file  逆序显示文件内容

sed '$!d' file 取出最后一行

sed '$!N;$!D' 显示最后两行

sed '/^$/d;G'  /etc/fstab 删除原有的所有空白行,而后为所有的非空白行后添加一个空白行;

sed 'n;d' FILE 显示奇数行

********************************************************************************************************

sed 是一种在线的、非交互式的编辑器,它一次处理一行内容。

处理时,先把当前处理的行内容存储在临时缓冲区中,称为“模式空间”(pattern space),喊配

之后再用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容打印到屏幕。

接着处理下一行,这样不断重复,直到文件末尾。

注意:模式空间的内容和 AWK 中的 $0 是一样的,处理每行的时候,都会被重新赋值为当前行的内容

文件内容并没有改变,除非郑森指你使用重定向存储输出。

Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

创建一个文件

options 选项是可选的,意思就是没有也行

        与grep一样,sed在文件中查找模式时也可以使用正则表达式(RE)和各种元字符。正则表达式是

        括在斜杠间的模式,用于查找和替换,以下是sed支持的元字符。

        使用基本元字符集 ^, $, ., *, [], [^], \< \>,\(\),\{\}

        使用扩展元字符集 ?, +, { }, |, ( )使用扩展元字符的方式:

        sed  -r

        在实际使用的时候,都会加上 -r 参数,即使没有用的扩展正则也不会有任何影响。

打印

sed  默认会输出文件的每一行,无论这行内容是否能匹配上匹配模式,假如被匹配到的则会再输出一次

p 是 sed 的内部命令,是 打印(输出) 的春雹作用

屏蔽默认输出使用 -n 选项

搜索替换 -- 这是重点 实际中用的最多

当在模式匹配中使用其他界定符号时,需要对其进行转义。

其他界定符用在 s 搜索替换时不必转义。例如:

地址用于决定对哪些 行 进行编辑。地址形式可以是数字、正则表达式或二者的结合。如果没有指定地址,sed将处理输入文件中的所有行。

$  表示最后一行

       - 开头和结尾之间什么都没有的行

       - 开头和结尾之间有多个空格的行

       - 开头和结尾之间有多个  Tab 键的行

以下 3 中效果一样,挑一个自己喜欢的

使用小括号进行分组,可以有多个分组, 后面可以使用 \1 获取到第一个分组的内容

***************************************************************************

sed -r '$a IPADDR=192.168.40.100\nNETMASK=255.255.255.0\nGATEWAY=192.168.40.1' /etc/sysconfig/network-scripts/ifcfg-ens33

㈥ AIX上was8,5如何删除server1和chuang'jian

AIX下系统sed使用详解使用sed去修改或者删除文本中的字符或者字符串。 pg func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt 1.查找包含#的行: awk '$0 ~ /#/' func.txt The#file#name#is#func,^M 2.将包含#的行中第一个#替换为空格: sed -n 's/#/ /p' func.txt The file#name#is#func,^M 3.替换行中所有的#: sed 's/#/ /g' func.txt 0at$the@begining^M The file name is func,^M 9and%it's%suffix%is .txt 4.替换行开头的数字: sed 's/^[0-9]*//g' func.txt at$the@begining^M The#file#name#is#func,^M and%it's%suffix%is .txt 5.将结尾的^M去掉: sed 's/^M$//g' func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt 怎么没替换呢? 原来^为特殊字符,需要转义 sed 's//^M$//g' func.txt 0at$the@begining The#file#name#is#func, 9and%it's%suffix%is .txt 6.下面将这些命令全部整合起来: pg func.txt 0at$the@begining^M The#file#name#is#func,^M 9and%it's%suffix%is .txt at func.txt sed 's//$/ /g' sed 's/@/ /g' se 's/^[0-9]//g' sed 's//^M$//g' sed 's/#/ /g' sed 's/%/ /g' at the begining The file name is func, and it's suffix is .txt 也可以将这些命令放在文件里面: pg func.sed # !/bin/sed -f # drop the # s/#/ /g # drop the number at the first of each line s/^[0-9]//g # drop the $ s//$/ /g # drop the @ s/@/ /g # drop the % s/%/ /g # drop the ^M s//^M//g # EOF 执行命令:sed -f func.sed func.txt at the begining The file name is func, and it's suffix is .txt 将执行过滤后的结果保存到sed.out文件中: sed -f func.sed func.txt > sed.out pg sed.out at the begining The file name is func, and it's suffix is .txt 下面一个适用的例子 我从数据库中查找的数据放在一个文件里面: pg sql.txt LASTNAME SALARY --------------- ----------- HAAS 152750.00 THOMPSON 94250.00 2 条记录已选择。 现在的需求是将其中的LASTNAME取出来,可以如下操作: cat sql.txt sed '/^--*/d' sed '/^$/d' sed '$d' sed '1d' awk '{print $1}' 取出其中的数字: cat sql.txt sed '1d' sed '$d' sed '/^$/d' sed '/^--*/d' awk '{print $2}' 152750.00 94250.00 在每行后面附加信息 pg info.txt yeeXun linux Aix Unix Windows sed 's/[a-zA-Z]*/& -end-/g' info.txt yeeXun -end- linux -end- Aix -end- Unix -end- Windows -end- 在命令行给sed传递值,使用双引号: NAME=Scott in Oracle REPLACE=OUT echo $NAME sed s/in/$REPLACE/g Scott OUT Oracle 下面是一些行命令([]表示空格,[ ] 表示tab键) ------------------------------------------------------------------- 's//.$//g' 删除以.结尾的行 '-e /abcd/d' 删除包含abcd的行 's/[][][]*/[]/g' 用一个空格替换多个空格 's/^[][]*//g' 删除行首空格 's//.[][]*/[]/g' 用一个空格替换.后面的多个空格 '/^$/d' 删除空行 's/^.//g' 删除行首的第一个字符 's/COL/(.../)//g' 删除紧跟COL(的三个字符 's/^////g' 从路劲中删除第一个/ 's/[ ]/[]//g' 用空格替代tab键 's/^[ ]//g' 删除行首所有tab键 's/[ ]*//g' 删除所有tab键 ------------------------------------------------------------------- 脚本集合 1.删除路径名第一个/: echo $PWD sed 's/^////g' usr/xxxx/ytcclb/sed 2.附加(添加)文本: echo Mac Wong sed 's/Mac /& J./g' Mac J.Wong 3.取文件名,去掉后缀: 查看当前目录下的文件: ls -l total 20 -rwxr--r-- 1 b4nx group 78 Dec 4 09:48 append.sed -rw-r--r-- 1 b4nx group 48 Dec 4 10:01 change.sed -rw-r--r-- 1 b4nx group 181 Dec 6 10:41 func.sed -rw-r--r-- 1 b4nx group 69 Dec 6 09:58 func.txt -rw-r--r-- 1 b4nx group 30 Dec 8 13:57 info.txt -rw-r--r-- 1 b4nx group 44 Dec 4 09:56 insert.sed -rw-r--r-- 1 b4nx group 201 Nov 27 15:01 quote.txt -rw-r--r-- 1 b4nx group 63 Dec 6 10:43 sed.out -rw-r--r-- 1 b4nx group 5 Dec 4 14:43 sedex.txt -rw-r--r-- 1 b4nx group 125 Dec 6 10:55 sql.txt 取文件名: ls -l awk '{print $9}' sed '/^$/d' sed 's//....//g' append change func func info insert quote sed sedex sql 4.给3取出来的文件添加后缀.db2: ls -l awk '{print $9}' sed '/^$/d' sed 's//..*$//g' sed 's/$/.db2/g' append.db2 change.db2 func.db2 func.db2 info.db2 insert.db2 quote.db2 sed.db2 sedex.db2 sql.db2 注意: 取文件的后缀:sed 's//..*$//g' 5.替换多个字符(包括空格): str=Guiyang&is thecapital of GuiZhou echo $str sed 's/&/ /g' sed 's/the/the /g' Guiyang is the capital of GuiZhou --the end--

㈦ aix sed命令追加内容

用s命令替换

我使用下面的这段文本做演示:

$ cat pets.txt

This is my cat

my cat's name is betty

This is my dog

my dog's name is frank

This is my fish

my fish's name is george

This is my goat

my goat's name is adam

把其中的my字符串替换成Hao Chen’s,下面的语句应该很好理解(s表示替换命令,/my/表示匹配my,/Hao Chen’s/表示把匹配替换成Hao Chen’s,/g 表示一行上的替换所有的匹配):

$ sed "s/my/Hao Chen's/g" pets.txt

This is Hao Chen's cat

Hao Chen's cat's name is betty

This is Hao Chen's dog

Hao Chen's dog's name is frank

This is Hao Chen's fish

Hao Chen's fish's name is george

This is Hao Chen's goat

Hao Chen's goat's name is adam

注意:如果你要使用单引号,那么你没办法通过’这样来转义,就有双引号就可以了,在双引号内可以用”来转义。

再注意:上面的sed并没有对文件的内容改变,只是把处理过后的内容输出,如果你要写回文件,你可以使用重定向,如:

$ sed "s/my/Hao Chen's/g" pets.txt > hao_pets.txt

或使用 -i 参数直接修改文件内容:

$ sed -i "s/my/Hao Chen's/g" pets.txt

在每一行最前面加点东西:

$ sed 's/^/#/g' pets.txt

#This is my cat

# my cat's name is betty

#This is my dog

# my dog's name is frank

#This is my fish

# my fish's name is george

#This is my goat

# my goat's name is adam

在每一行最后面加点东西:

$ sed 's/$/ --- /g' pets.txt

This is my cat ---

my cat's name is betty ---

This is my dog ---

my dog's name is frank ---

This is my fish ---

my fish's name is george ---

This is my goat ---

my goat's name is adam ---

㈧ 工作站文件批量替换命令是什么

sed命令。工作站中用find进行查找,sed命令可以批量游旁判替换多个文件中的字符串,因此工作站文件批量替换命令是sed。工作站是一种高端的通用微型计算机,它能为神改单用户使用并提启饥供比个人计算机更强大的性能。

㈨ Linux命令行操作之sed

sed命令行格式:sed [options] 'command' file(s)

options常用选项:

-n或--quiet或——silent:仅显示script处理后的结果;

-e:以选项中的指定的script来处理输入的文本文件;

-f:以选项中指定的script文件来处理输入的文本文件;

-r∶sed 的动作支援的是延伸型正规表示法的语法;

-i∶直接修改读取的档案内容,而不是由萤幕输出;

-h或--help:显示帮助;

-V或--version:显示版本信息。

Command常用命令:

a:新增,a 的后面可以接字符串,而这些字符串会在新的一行出现(目前的下一行);

c:取代,c 的后面可以接字符串,这些字符串可以取代 n1.n2 之间的行;

d:删除,d 后面通常不接任何字符串;

i:插入,i 的后面可以接字符串,而这些字符串会在新的一行出现(目前的上一行);

p:打印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作;

s:取代,可以直接进行取代的工作,通常与正规表达式搭配使用。

实例说明:

新增操作:a命令

sed '/^bird/a est' file将test追加到 以bird开头的行后面

删除操作:d命令

sed '/^$/d' file #删除空白行;

sed '2d' file #删除第二行;

sed '2.$d' file #删除第2行到最后一行;

sed '$d' file #删除最后一行;

sed '/^bird/'d file #删除所有开头是bird的行;

插入操作:i命令

sed -i '3iird ' bird.conf #在bird.conf文件第3行之前插入bird

替换文本中的字符串:s命令

sed 's/bird/birds/' file #将文本中的bird替换成birds;

sed -i 's/ bird / birds /g' file #将file文件中每一行的第一个bird替换为birds;

㈩ AIX系统中想移走log目录下含有2015字样的全部日志文件到指定的目录,怎样选中全部2015年的日志文件呢

查找目录下的所有文件中是否含有某个字符串

查找目录下的所有文件中是否含有某个字符串
find .|xargs grep -ri "IBM"
查找目录下的所有文件中是否含有某个字符串,并且只打印出文件名
find .|xargs grep -ri "IBM" -l
1.正则表达式
(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。
(2)基本元字符集及其含义
^ :只匹配行首。 如^a 匹配以a开头的行abc,a2e,a12,aaa,......
$ :只匹配行尾。 如^a 匹配以a结尾的行bca,12a,aaa,.......
* :匹配0个或多个此单字符。 如(a)* 匹配 空,a,aa,aaa,....
[] :只匹配[]内字符。可以是一个单字符,也可以是字符序列,用","将里面要匹配的不同字符串分开。也可以使用-来表示[]内字符序列的范围,如[1-5]表示[12345]
\ :只用来屏蔽一个元字符的特殊含义。 如\*,\',\",\|,\+,\^,\. 等
.:(点)只匹配任意单字符。
pattern\{n\}:只用来匹配前面pattern出现的次数.n为次数。如a\{2\}匹配aa.
pattern\{n,\}:含义同上,但次数最少为n.如a\{2,\}匹配aa,aaa,aaaa,.....
pattern\{n,m\}:含义同上,但次数在n和m之间。如a\{2,4\}匹配aa,aaa,aaaa三个
(3)举例说明:
^$ :匹配空行
^.$ :匹配包含一个字符的行
\*\.pas :匹配以*.pas结尾的所有字符或文件
[0123456789]或[0-9] :假定要匹配任意一个数字
[a-z] :任意小写字母
[A-Za-z] :任意大小写字母
[S,s] :匹配大小写S
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\} :匹配IP地址 [0-9]\{3\}三个0-9组成的字符串;\. :匹配点(注意这里点是特殊的字符,所以要用"\"来屏蔽其含义)
2.find介绍
(1)查找具有某些特征文件的命令,可遍历当前目录甚至于整个文件系统来查看某些文件或目录,其遍历大的文件系统时一般放在后台执行。
(2)find命令的一般形式
find pathname -options [-print -exec -ok]
-pathname :find命令所查找的目录路径。如用"."来表示当前的目录,用/来表示系统根目录
-print :find命令将匹配的文件输出到标准输出
-exec: find命令对匹配的文件执行该参数所给出的shell命令,相应的命令形式为
'command'{} \; (注意{}和\之间的空格)
-ok 和 -exec的作用相同,只不过以祥拿一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
options有如下几种:
-name :按照文件名查找文件
-perm :按照文件权限来查找文件
-user :按照文件属主来查找文件
-group :按照文件所属的基斗组来查找文件
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime 和-ctime选项,但它们都和-mtime选项相似。
-size n[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在
-newer file1 !file2查搏宴磨找更改时间比文件file1新但比文件file2旧的文件
-depth 先查找指定目录有无匹配文件,若无则再在子目录中查找
-type 查找某一类型的文件,如
b :块设备文件
d:目录
e:字符设备文件
p;管道文件
l:符号链接文件
f:普通文件
(3)find命令举例
find -name "*.txt" -print 查找txt结尾的文件并输出到屏幕上
find /cmd ".sh" -print 查找/cmd目录下所有sh文件,并输出
find . -perm 755 -print 查找当前目录下权限为755的文件,并输出
find `pwd` -user root -print 查找当前目录下属主为root的文件,并输出
find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件
find /var -mtime -5 -print 查找/var目录下更改时间为5天内的所有文件
find /var -mtime +5 -print 查找/var目录下更改时间为5天以前的所有文件
find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的所有文件。
find /var -type d -print 查找/var目录下所有目录
find /var -type l -print 查找/var目录下所有的符号链接文件。
find . -size +1000000c -print 查找当前目录下大于1000000字节的文件
find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找
find . -type f -exec ls -l {} \; 查找当前目录下是否有普通文件,若有则执行ls -l
(4)xargs命令
在 使用find命令的-exec选项处理匹配到的文件时,find命令将所有匹配到的文件一起传递给exec。不幸的是,有些系统对能够传递给exec的命 令长度有限制,这样find命令运行几分钟之后就算出现溢出错误。错误信息通常是“参数列太长”或“参数列溢出”。这就是xargs的用处所在,特别是与 find命令一起使用,exec会发起多个进程,而xargs会多个,只有一个
find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文件并传递给chmod处理
3.grep介绍
(1)grep 的一般格式为 grep [options] 基本正则表达式 [文件]
字符串参数最好采用是双引号括,一是以防被误解为shell命令,二是可以用来查找多个单词组成的字符串
-c:只输出匹配行的记数
-i:不区分大小写(只适用于单个字符)
-h:查询多个文件时不显示文件名
-H:只显示文件名
-l:查询多文件时只输出包含匹配字符的文件名
-n:只显示匹配行及其行号
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
(2)举例说明:
grep ^[^210] myfile 匹配myfile中以非2、1、0开头的行
grep "[5-8][6-9][0-3]" myfile 匹配myfile中第一位为5|6|7|8,第二位6|7|8|9,第三位为0|1|2|3的三个字符的行
grep "4\{2,4\}" myfile 匹配myfile中含有44,444或4444的行
grep "\?" myfile匹配myfile中含有任意字符的行
(3)grep命令类名
[[:upper:]] 表示[A-Z]
[[:alnum:]] 表示[0-9a-zA-Z]
[[:lower:]] 表示[a-z]
[[:space:]] 表示空格或者tab键
[[:digit:]] 表示[0-9]
[[:alpha:]] 表示[a-zA-Z]
如:grep "5[[:digit:]][[:digit:]]" myfile 匹配myfile中含有5开头接下去两位都是数字的行。
4.awk介绍
可以从文件或字符串中基于指定规则浏览和抽取信息,是一种自解释的变成语言。
(1)awk命令行方式 awk [-F filed-spearator] 'command' input-files
awk脚本:所有awk命令插入一个文件,并使awk程序可执行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由各种操作和模式组成。
模式部分决定动作语句何时触发及触发事件。(BEGIN,END)
动作对数据进行处理,放在{}内指明(print)
(2)分隔符、域和记录
awk执行时,其浏览域标记为$1,$2,...$n.这种方法成为域标识。$0为所有域。
(3)举例说明:
awk '{print $0}' test.txt |tee test.out 输出test.txt中所有行$0表示所有域
awk -F : '{print $1} test.txt |tee test.out' 同上。。只是分隔符为":"
awk 'BEGIN {print "IPDate\n"}{print $1 "\t" $4} END{print "end-of-report"}' test.txt
开始时打印“IPDate”结束时打印“end-of-report”中间打印主体信息,比如总共匹配三条信息,则输出如下:
IPDate
1 first
2 second
3 third
end-of-report
(4)匹配操作符 ~ 匹配,!~ 不匹配
cat test.txt |awk '$0~/210.34.0.13/' 匹配test.txt中为210.34.0.13的行
awk '$0!~/210.34.0.13' test.txt 匹配test.txt中不是210.34.0.13的行
awk '{if($1=="210.34.0.13") print $0}' test.txt 匹配 test.txt中第一个域为210.34.0.13的行。
5.sed介绍
sed不与初始化文件打交道,它操作的只是一个拷贝,然后所有的改动如果没有重定向到一个文件,将输出到屏幕。
sed是一种很重要的文本过滤工具,使用一行命令或者使用管道与grep与awk相结合。是一种非交互性文本流编辑。
(1)调用sed的三种方式
使用sed命令行格式为:sed [options] sed命令 输入文件
使用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件
sed脚本文件[options] 输入文件
--不管是使用shell命令行方式或脚本文件方式,如果没有指定输入文件,sed从标准输入中接受输入,一般是键盘或重定向结果。
(2)sed 命令的options如下
-n:不打印
-c:下一命令是编辑命令
-f:如果正在调用sed脚本文件
(3)sed在文件中查询文本的方式
--使用行号,可以是一个简单的数字,或是一个行号的范围
--使用正则表达式
(4)读取文本的方式
x x为一行号
x,y 表示行号范围从x到y
/pattern/ 查询包含模式的行
/pattern/pattern/ 查询包含两个模式的行
pattern/,x 在给定的行号上查询包含模式的行
x,/pattern/ 通过行号和模式查询匹配行
x,y! 查询不包含指定行号x和y的行
(5)基本sed编辑命令
p 打印匹配行
d 删除匹配行
= 显示文件行号
a\ 在定位行号后附加新文本信息
i\ 在定位行号后插入新文本信息
c\ 用新文本替换定位文本
s 使用替换模式替换相应模式
r 从另一个文件中读文件
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即退出
l 显示与八禁止ASCII代码等价的控制字符
{} 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
(6)举例说明:
sed -n '2p' test.txt 打印第二行的信息(注意:-n是不打印不匹配的信息,若没加-n,则打印文件的所有信息而不是匹配信息)
sed -n '1,4p' test.txt 打印第一行到第四行的信息
sed -n '/los/p' test.txt模式匹配los,并打印出来
sed -n '2,/los/p' test.txt 从第二行开始。。知道匹配第一个los
sed -n '/^$/p' test.txt 匹配空行
sed -n -e '/^$/p' -e '/^$/=' test.txt 打印空行及行号
sed -n '/good/a\morning' test.txt 在匹配到的good后面附加morning
sed -n '/good/i\morning' test.txt 在匹配到的good前面插入morning
sed -n '/good/c\morning' test.txt 将匹配到的good替换成morning
sed '1,2d' test.txt 删除第1和2行
sed 's/good/good morning/g' test.txt 匹配good并替换成goodmorning
send 's/good/& hello /p' test.txt 匹配到good就在其后面加上hello
send 's/good/ hello &/p' test.txt 匹配到good就在其前面加上hello
6.合并与分割(sort,uniq,join,cut,paste,split)
(1)sot命令
sort [options] files 许多不同的域按不同的列顺序排序
-c 测试文件是否已经排序
-m 合并两个排序文件
-u 删除所有同样行
-o 存储sort结果的输出文件名
-t 域分隔符,用非空格或tab开始排序
+n :n 为列号,使用此列号开始排序
-n 指定排序是域上的数字分类项
-r 比较求逆
sort -c test.txt 测试文件是否分类过
sort -u test.txt 排序并合并一样的行
sort -r test.txt 以相反的顺序排列
sort -t "/" +2 test.txt 以"/"分隔,第二个域开始分类
(2)uniq命令
uniq [options ] files 从一个文本文件中去除或禁止重复行
-u 只显示不重复行
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数
-f :n为数字,前n个域被忽略
uniq -f 2 test.txt 忽略前2个域
(3)join 命令
join [options] file1 file2 用来将来自两个分类文本文件的行连在一起
-an,n为一数字,用于连接时从文件n中显示不匹配行
-onm ,连接域,n为文件号,m为域号
-jnm,n为文件号,m为域号,使用其他域作连接域
-t ,域分隔符。用来设置非空格或tab键的域分隔符。
(4)split命令
split -output_file_size intput_filename output_filename
用来将大文件分割成小文件。
-b n,每个分割文件的大小n
-C n,每个分割文件一行最多n字节
-l n,每个分割文件的行数
-n,同-l n
split -10 test.txt 将test.txt分割成10行的小文件
(5)cut 命令
cut -c n1-n2 filename 显示每行从开头算起 n1 到 n2 的文字。
cut -c 3-5 test.txt 显示test.txt中每行从第3到第5个字符
Linux查找文件内容的常用命令方法:

1、从文件内容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名

2、从文件内容查找与正则表达式匹配的行:
$ grep –e “正则表达式” 文件名

3、查找时不区分大小写:
$ grep –i "被查找的字符串" 文件名

4、查找匹配的行数:
$ grep -c "被查找的字符串" 文件名

5、从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名

6、从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"

7、例子 :查找/SqLogs/access.log文件中包含".exe" 或者"TCP_DENIED"的记录
方法1:grep /SqLogs/access.log –e ".exe”
grep /SqLogs/access.log –e "TCP_DENIED”
方法2:find /SqLogs –type f –name access.log | xargs grep ".exe"
find /SqLogs –type f –name access.log | xargs grep "TCP_DENIED"
因为公司是通过SQUID代理服务器共享上网的,有时候因为某些原因,新版本的应用程序或者财务报税软件会无法使用,所以只有查看 access.log文件,查找原因!由于LOG文件太大了,虽然每天都执行压缩重建LOG文件,但几十M的LOG文件里的内容太多,直接打开查看再查找很浪费时间,也很麻烦!之前用
tail –n 100 /SqLogs/access.log命令找起来也很麻烦,上面的两个命令帮了我很大的忙,很短的时间就可以帮我找到问题所在!分享给大家!

阅读全文

与aix的sed命令相关的资料

热点内容
易语言递归算法 浏览:284
中国有出什么加密币吗 浏览:530
加密程序不小心删除 浏览:415
清除空文件夹的代码 浏览:608
相册视频水印怎么去掉的app 浏览:616
鸡啄米c编程入门 浏览:826
iphone手机视频如何加密或隐藏 浏览:289
车床一个轴的编程 浏览:6
任何APP都借不了款怎么办 浏览:362
linux刷新命令 浏览:518
解压配音的小视频 浏览:652
phptable页 浏览:813
人工智能怎么摆脱算法 浏览:72
思科显示配置命令 浏览:411
网上为什么对程序员这么多评论 浏览:84
app续费怎么算 浏览:775
安卓手机怎么把相册传到苹果 浏览:261
高中信息技术算法教案 浏览:245
百战程序员职业 浏览:606
abb机器人焊接操作编程教学视频 浏览:384