您的位置:首页 > 运维架构 > Shell

常见处理文本的SHELL命令

2015-10-09 11:29 525 查看
1、循环读取

for ip in $(seq 1 4)

do

...

done

逐行读取

一、

for line in $(cat a.txt)

do

echo $line

done

二、

cat a.txt| while read line

do

echo $line

done

三、

while read line

do

echo $line

done < a.txt

2、字符过滤

grep -v aaa

-i 不区分大小写

-w 全匹配

-v 排除

  

3、字符串切割

1)[oracle@orax ~]$ echo "1=5=3=4" |cut -d '=' -f 2

5

cut命令主要是接受三个定位方法:

第一,字节(bytes),用选项-b

第二,字符(characters),用选项-c

第三,域(fields),用选项-f

如kill含有xuanxx的所有进程

ps -ef|grep xuanxx|cut -c 10-15|xargs kill 9

2)
[oracle@orax ~]$ echo "1=5=3=4" |awk -F"=" '{print $3}'

3

4、字符替换

sed -i  's/xuan/xuAn/g' a.txt   

sed的详细用法

5、统计

wc -l  总行数

wc -L 字符长度

6、查找和处理

1)时间查找 

两天前

[oracle@orax ~]$ find /home/oracle/ -type  f -mtime +2 -name *txt

前两天到现在

[oracle@orax ~]$ find /home/oracle/ -type  f   -maxdepth  1 -mtime -2 -name *txt

2)排序

[oracle@orax ~]$ sort a.txt 

倒序   sort -r  a.txt

3)去重

cat a.txt|sort|uniq 

3)批量处理

[oracle@orax ~]$ find /home/oracle/ -type  f -mtime +2 -name *txt  -exec rm {} \;

[oracle@orax ~]$ find /home/oracle/ -type  f -mmin +60 -name *txt  -exec rm {} \;

查找包含内容文件

find /home/gbase/xuanxx/ -type -f |xargs grep "IP" -l \;

字符集替换

${变量/查找/替换值}

a=xxx_n1

echo ${a/_n1/n2}

xxx_n2


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: