shell

来源:互联网 发布:macbookair删除软件 编辑:程序博客网 时间:2024/06/13 20:31

while [ $x -le 1 ];do

command

done

-le 两边的变量与[  ]直接需要有空格。


uniq 只查找相邻行的重复情况,所以一般需要先sort一下、


比较两个文件diff c.txt d.txt | awk '/</{print $2}'  c文件有d文件没有的

                      diff c.txt d.txt | awk '/>/{print $2}'  d文件有c文件没有的


</pre><p></p><pre code_snippet_id="1695914" snippet_file_name="blog_20160525_1_478230" name="code" class="html"><pre name="code" class="java">[hadoop@hadoop-02 testshell]$ cat c.txt 127.0.0.2127.0.0.1172.0.0.3127.0.0.12123.0.3.2127.0.0.1

[hadoop@hadoop-02 testshell]$ cat d.txt 127.0.0.1128.0.0.1127.0.0.3127.0.0.1128.0.0.1127.0.0.3127.0.0.1

[hadoop@hadoop-02 testshell]$ diff c.txt d.txt | awk '/</'< 127.0.0.2< 172.0.0.3< 127.0.0.12< 123.0.3.2
比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做:

sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`

解释一下:

-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名


awk匹配变量的内容 `awk '/'$ucount'/ {print $1}' a.txt|sort|uniq|wc -l` 将变量用‘’单独隔开


shell变量赋值的时候等号两侧不能有空格,不然会被当成命令执行

$#表示参数的数量

$@或$*表示所有参数

$$表示当前脚本执行的进程号

$?表示执行结果。0表示执行成功



0 0
原创粉丝点击