Linux shell脚本攻略(3)-命令使用

1.cat的使用

1.1 cat拼接,拼接多个文件

cat file1 file2 file3 ...

1.2 stdin和另一个文件中的数据组合在一起:

echo 'this is a test ' | cat - file

1.3 去掉多余的空行(1行以上的变为1行空格 )

cat -s file

1.4显示行号

cat -n file

2. find的使用

2.1 根据文件名搜索     -name

find . -name '*.txt' -print #找到所有的 .txt 结尾的文件或目录   

注意*.txt两边的单引号。shell会扩展没有引号或是出现在双引号(")中 的通配符。单引号能够阻止shell扩展*.txt,使得该字符串能够原封不动地传给find命令。

find同时支持逻辑操作符 -o(-or)  -a(-and)操作

find . \(-name '*.txt' -o -name '*.xls' \) -print  #查找出 .txt 或者 .xls结尾的文件或目录

如果想忽略大小写 使用 -iname    比方说 *.txt 和 *. TXT 都可以了

2.2 根据正则表达式搜索     -regex

正则学习:xxxxxx

2.3 否定的使用

$ find . ! -name '*.txt' -print  #排除查找满足项(非)

2.4 查找深度

find 查找的时候会查找所有的子目录。默认情况下,find命令不会跟随符号链接。-L选项可以强制其改变这种行为。但如果碰上了指向自身的链接,find命令就会陷入死循环中。

最大遍历深度:find . -maxdepth 2 -name '*.txt' -print

最小遍历深度:find . -mindepth 2 -name '*.txt' -print

2.5 根据文件类型查找

find . -type d-name '*.txt' -print #目录

find . -type f -name '*.txt' -print #文件

find . -type f -name '*.txt' -print #符号链接

参考:(有些用的不多)

2.6 根据时间搜索

2.6.1:按照天

-atime    #访问时间

 -mtime  #修改内容时间

-ctime  #修改的权限,所有权时间

2.6.2:按照分

-amin   -mmin  -cmin

2.6.2:按照文件大小

-size 


例子:find . -type f -size -100c -print  #小于100字节的文件

2.7:根据find结果操作

1)find . -type f -size -100c -delete #删除小于100字节的文件

2)  find . -type f -size -100c -exec rm -rf {} \;    #删除小于100字节的文件

{} 用来代替find的结果, 结尾必须  \;

2.8find跳过指定目录

例:find . -name '*.git' -prune -o -type f -size -100c -name '*.plist' -print  #跳过 git 目录下的 查找 小于100字节的 .plist 结尾的 文件

3. xargs的使用

1)读取stdin,格式化输出:

cat 1.txt

得到:

1

2

3

4


cat 1.txt | xargs 将会得到 1 2 3     #一行输出的

cat 1.txt | xargs -n 2 将会得到 : #每行2个

1 2

3 4

2)切割 通过  -d

echo 'peter,tom,gordon,hellen,jack,jameson' | xargs -d ,

#按,分开了 结果:peter tom gordon hellen jack jameson

3)结合find使用xargs

find . -mtime -1 -print0 | xargs -0 rm -f  #删除前一天修改的文件

使用find命令的-print0选项生成以空字符('\0')作为分隔符的输出,然后将其作为xargs命令的输入。

4) 统计文件行数

find .  -iname '*.name' -print0 | xargs -0 wc -l

结果:

5)传入其他shell 脚本里

1.sh:####在输入的参数内容后面加入#

#!/bin/bash

echo $@'#'

1.txt:

1

2

3

4

5


命令行来了:

5.1)cat 1.txt | xargs ./1.sh 

输出: 1 2 3 4 5#

5.2)cat 1.txt | xargs -n 2 ./1.sh 

输出:

1 2#

3 4#            

5#

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16
  • 今天去看了烧脑的《记忆大师》。整部影片以家暴为主题展开,以记忆为线索寻找杀人凶手,中间穿插了情感和人性的波动,结局...
    方媛_几里阅读 550评论 2 6
  • 等你 在满池的莲花中等你 在天青色的烟雨中等你 望穿秋天的山和水 等你 从未相遇也无处告别 我的好时光 依旧 春风...
    一江春水1990阅读 585评论 11 15
  • // MPMediaQuery *allMp3 = [[MPMediaQuery alloc] init];...
    wlqsmiling阅读 273评论 0 0