shell文件处理工具-创新互联

vim /etc/resolve.conf 查看dns
6.shell脚本命令
 1.diff
diff       file file  比较两个文件的不同
   -c       显示周围的行
   -u         按照一格式统一输出生成补丁
   -r         比较两个目录中文件的不同
pattch     file   file.path  打补丁
   -b             备份原文件
2.grep
grep   关键字符   文件|目录  在文件或目录中查找含有关键字的行
grep   -i             忽略大小写
   -n             显示关键字所在行
   -c             显示过滤结果的行数
   -v             反向过滤
   -E     “关键字1|关键字2”   过滤多个关键字
   -r     目录       在目录中查找含有关键字的文件
注意:^关键字  以关键字开头
     关键字$  以关键字结尾
^root 以root开头
root$ 以root结尾
3.cut
cut 截取字符
cut -d 分隔符 指定分隔符
cut -f 1,7   显示指定的列
cut -c     显示指定字符
cut -d " " -f 10   截取空格后第十列到下一个分隔符空格之间的内容
4.sort 排序
sort
   -n 纯数字排序
   -u 去掉重复的
   |uniq -c去掉重复并统计重复个数
   -t 指定分隔符
   -k 指定列
sort -t : -k 2 file -nu
5.uniq
sort file | uniq -c 去掉多余并统计重复次数
        -d 显示多余行
        -u 显示唯一的行
6.tr
tr 'a-z' 'A-Z' file
sed 's/原字符/替换字符/g' file
sed -e '策略1 ' -e '策略2 'file 多个策略用-e
sed -i file 把转入后的文件输出到指定文件
sed '3,5s/原字符/替换字符/' file
sed xd 屏蔽指定行
sed xp 复制指定行
sed -n xp 只显示指定行
脚本
#!/bin/bash
MAX=$( wc- l $1 | cut -d " " -f 1)
for NUM in $( seq $MAX )
do
       USERNAME=$(sed -n ${NUM}p$1)
       PASSWD=$(sed in ${NUM}p $2)
       useradd $USERNAME
       echo $PASSWD | passwd --stdin$USERNAMR
done

7.awk  数据处理工具,将一行分成数个段进行处理,以字段为最小的处理单位

awk '条件类型1{动作1} 条件类型2{动作2}...' filename
[root@taxing ~]# last -n 5
kiosk   pts/0       :0              Wed Nov 9 19:46  still logged in
kiosk   pts/0       :0              Wed Nov 9 18:57 - 19:46 (00:48)
kiosk   :0          :0              Wed Nov 9 18:57  still logged in
reboot  system boot 3.10.0-327.el7.x Thu Nov 10 02:56 -19:59 (-6:-57)
kiosk   :0          :0              Wed Nov 9 17:55 - 17:55 (00:00)

wtmp begins Wed Sep 28 00:38:05 2016
[root@taxing ~]# last -n 5 | awk '{print $1 "\t" $3}'
kiosk  :0
kiosk  :0
kiosk  :0
reboot boot
kiosk  :0

$0 代表一整行的数据
内置变量
NF 每一行($0)拥有的字段总数
NR 目前awk处理的是第几行的数据
FS 目前的分隔字符,默认是空格键
[root@taxing ~]# last -n 5 | awk '{print $1 "lines:" NR "\tcolumes: "NF}'
kiosklines:1    columes: 10
kiosklines:2    columes: 10
kiosklines:3    columes: 10
rebootlines:4   columes: 11
kiosklines:5    columes: 10
lines:6  columes: 0
wtmplines:7  columes: 7
条件类型
[root@taxing ~]# cat /etc/passwd | awk '{FS=":"} $3<10 {print $1"\t" $3}'
root:x:0:0:root:/root:/bin/bash
bin 1
daemon 2
adm 3
lp 4
sync   5
shutdown   6
halt   7
mail   8
第一行还是默认的以空格键为分隔符,想要从第一行开始就在分隔符 {FS=":"} 前加 BEGIN 关键字  除此之外还有END
[root@taxing ~]# cat /etc/passwd | awk 'BEGIN{FS=":"} $3<10 {print$1 "\t" $3}'
root   0
bin 1
daemon 2
adm 3
lp 4
sync   5
shutdown   6
halt   7
mail   8
awk命令进行计算
name   1st 2nd 3th
zed 12321  34123  41234
timo   23413  34124  35213
lol 34223  12441  22341
 cat file | awk 'NR==1{printf "%10s%10s %10s %10s %10s\n",$1,$2,$3,$4,"TOTAL"}NR>=2{TOTAL=$2+$3+$4 printf"%10d %10d %10d %10d%10.2f\n,$1,$2,$3,$4,TOTAL}'

在泌阳等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站建设、外贸营销网站建设 网站设计制作按需开发网站,公司网站建设,企业网站建设,品牌网站设计,营销型网站,外贸营销网站建设,泌阳网站建设费用合理。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:shell文件处理工具-创新互联
本文地址:http://ybzwz.com/article/dhohho.html