`

shell知识积累

阅读更多

特定的shell变量

$# 传递给脚本的参数个数

$* 以一个单字符串显示所有向脚本传递的参数

$$ 脚本运行的当前进程ID号

$! 后台运行的最后一个进程的进程ID号

$- 显示shell使用的当前选项

$? 显示最后命令的退出状态

1. 查找当前目录下面,所有php文件里面,是否含有'string'的内容

#find ./ -name "*.php"|xargs grep -H 'sring'

2. 删除除了含有img和info文件的其他所有文件

进入需要删除文件的目录后,执行命令

#ls|grep -v img|grep -v info|xrags rm

#ls|grep -v *.h|grep -v *.cpp|xrags rm --删除除了*.h和*.cpp外的所有文件

引申:

2.1. 如何删除没有特征的文件

进入删除文件的目录,执行

#ls > filelist,编辑filelist, 将需要保留的文件名从文件中删除掉, 然后 #cat filelist|xargs rm

2.2. 删除当前目录以及子目录中,不是以a-z,A-Z开头的文件

#find ./ -type f ! -name "[A-Z|a-z]*" -ok rm {} \;

3.找到文件中含有hello字符串并且递归修改文件名

#find ./ -name "*"|xargs -i bash -c "grep hello {}&&mv {} {}_bak"

-i 表示find传递给xargs的结果由{}来代替

引申:

3.1递归修改目录名

进入最底层的目录,然后递归往上修改目录名

#find ./ -type d|xargs -i bash -c "mv {} {}_bak"

递归修改文件名

#find ./ -type f|xargs -i bash -c "mv {} {}_bak"

4.awk和sed的使用(awk是匹配列,sed是匹配行)

#df -k|awk '{print $1}'|grep -v Filesystem|sed -s '/\/dev\//g'

awk中用到的元字符:

+ 匹配一个或多个字符

? 匹配模式出现频率

awk '{if($4 ~/Brown/) print$0} ' grade.txt -- ~表示匹配

sed编辑命令

p 打印匹配行 -- sed -n '10,20p' thread.c

d 删除定位行 -- sed '10,20p' thread.c

s 使用替换模式替换相应模式-- sed 's/night/NIGHT' quote.txt

a\ 在定位行号后附加新文本信息

i\ 在... ...插入新文本信息

c\ 用新文本替换定位文本

5.基本元字符集: ^匹配行首, $匹配行尾, [^ 0-9]匹配任一非数字型字符

pattern \{n\} 出现n次

pattern \{n,\} 最少出现n次

pattern \{n,m} 出现在n-m次之间

分享到:
评论

相关推荐

    Linux shell知识点汇总

    SHELL在处理一些问题的时候有得天独厚的优势,快捷方便,学会了还可以显摆显摆,当然了,shell的语法有点坑爹,没有系统的学过,只能一点一点的积累。 今天这个是在实现一个刷新数据库数据的脚本的时候碰到的一些...

    wiki:Robotomies 积累的知识

    维基 Robotomies 积累的知识

    blog-vuepress:个人日常学习总结和知识积累,欢迎star,提建议

    home actionText actionLink features footer true快速阅读→ /web/ title details Web前端开发是创建Web页面或app等前端界面呈现给用户的过程,通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,...

    Blog:用于记录日常积累的小知识点

    IndexiOSNIB和XIB的区别于关系数字签名@weakif和@strongif详解常用脚本VCS...Shell增强神器iTerm2.mdSublime TextShell查找命令其它编程语言的跨平台性字符编码学习笔记算法的时间复杂度和空间复杂度读书笔记《曾国藩》...

    cheatsheet:华顺信安技术羊皮卷

    华顺信安技术羊皮卷信息安全作为一项综合性学科,需要积累大量的基础知识,包括系统知识、网络知识、数据库知识、容器知识、安全知识、正则表达式、shell编程等等。任何一个个体都不是字典,我们能记住一些基础信息...

    react-article-bucket:总结,积累,分享,传播JavaScript各模块核心知识点文章全集,欢迎星级,问题(勿用fork,内容可能随时修改)。webpack核心内容部分请查看专栏:https://github.comliangklfanglwebpack-核心使用

    react-article-bucket:总结,积累,分享,传播JavaScript各模块核心知识点文章全集,欢迎星级,问题(勿用fork,内容可能随时修改)。webpack核心内容部分请查看专栏:https://github.comliangklfanglwebpack-核心...

    精通Android游戏开发

    内容简介  作为引领移动技术潮流的软件平台,Android发布了NDK以支持Java和C的混合开发,使PC游戏可以在Android平台上焕发更多魅力。...1.1.2 Linux和Shell脚本的基本知识 3 1.2 需要哪些软件工具 3 1.3 建立环境 4

    dev-ops-sandboxes:Dev Ops沙箱

    开发人员沙箱 模组 描述 蚂蚁 是用于自动化软件构建过程的软件工具 骆驼 使您能够使用多种特定于域的语言定义路由和中介规则 厨师 在配置管理工具中 ... Maven一词在意第绪语中意为“知识的积累者” 恩吉克

    Unix Power Tools, 3rd Edition.pdf

    但是,无论您是新手还是Unix Power用户,您都会发现自己在新版本的Unix Power Tools中翻阅信息金矿,以增加知识储备。想尝尝新的吗?先看看这本书,你一定会发现一个提示或诀窍,它会阻止你以一种艰难的方式学习东西...

    MicrobiomeStatPlot:微生物图的解释和可视化

    微生物组的数据分析和解读需要微生物学、生物信息学、统计学、Shell和R语言、宏基因组学等多学科的知识,无论是中国还是世界范围内仍缺少系统的学习教材。宏基因组公众号成立的目的是打破微生物组数据分析解读的壁垒...

    自己编程中遇到的Python错误和解决方法汇总整理

    知识在于积累嘛!微笑 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 错误: 复制代码 代码如下: >>> def f(x, y):   print x, y  >>> t = (‘a’, ‘b’)  >>> f(t)    Traceback (most ...

    helpdesk-guide::open_book:《桌维网管实典》主机与程控终端信息安全运维,IT方向速成就业入职

    在解决用户问题后,适当聊聊工作操作内容进行积累,再回头理解部门及公司业务架构;与此同时,在我们自身专业上也要探究师傅的知识,确切的说是与之关联的更上一层的知识,将其与公司业务体系相结合。我们用已知的...

    leetcode补漏洞-skr_university:skr_university

    此文档主要记录自己在二进制方向的学习,包括基础知识的学习、CTF题目的练习和部分开发基础的积累。 学习进度 Week 1-2 实现简单的SGI STL,完成了分配器、迭代器、萃取机制以及vector容器 代码实现: 结题测试:...

    common-scripts:这是程序员最常用的脚本

    common-scripts在这里积累下程序员最常使用的脚本程序员经常会遇到许多重复性的工作,或是人工操作步骤复杂的工作等,都是可以通过脚本来实现,大大提交工作效率。本着用多少,学多少的思想,积累。概念任何一个知识...

    JAVA自学之路

    就像写作文,要有自己思路总是一般来说要经过几个阶段,首先学习词汇,然后学习造句,然后大量阅读别人的文章,自己模仿着写一些,逐渐的经验积累,才能形成自己的思路。学编程,恐怕也得慢慢的来吧,只是看一看、听...

    LINUX网站建设技术指南

    4.7.5 Shell启动 4.8 管理用户 4.8.1 系统管理员 4.8.2 管理职责 4.8.3 用户管理 4.8.4 用户组管理 4.8.5 使用LinuxConf管理用户 4.9 内存管理 4.9.1 什么是虚拟内存 4.9.2 产生对换空间 4.9.3 使用对换空间 4.9.4 ...

    干货 | Linux新手入门好书推荐

    经常有读者问小编可否推荐一些 Linux 入门书籍,正好最近在知乎也看到类似的问题,如几个零碎的命令难以在 Linux 环境中存活,所以如果要真正形成自己的知识体系,还是要靠阅读专业书籍来积累。 众所周知Linux 对...

    Google Android SDK开发范例大全(第3版) 1/5

    5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up...

    Google Android SDK开发范例大全(第3版) 4/5

    5.28 Shell Script运行Cmmand 5.29 模拟文件下载Notification进度变化与关闭 5.30 取得已安装应用程序列表与安装日期信息 5.31 造假的Toast画面 5.32 剪贴簿管理器 第6章 手机自动服务纪实 6.1 您有一条短信pop up...

Global site tag (gtag.js) - Google Analytics