Shell命令学习笔记

Shell命令学习笔记

  1. tr 替换字符

  简单示例: tr 'A' 'a' < file.txt

  把每一个A字符替换为a字符。tr命令只能用于单个字符的替换,如果写成:

  tr 'ABC' 'abc' < file.txt

  则表示分别把ABC字符替换为a,b,c,而不是把字符串ABC替换为abc,字符串的替换需要用到sed命令,稍候会有介绍。

  2. grep 字符串查找

  简单示例 :grep world file.txt

  在输入文件或这标准输入中查找含有匹配字符串(此处是world)的行,并显示改行。

  grep处理后的结果往往会成为后续处理的输入,所以可以用管道进行连接:

  grep world file.txt | wc -l

   wc -l表示统计行数,上述命令表示统计file.txt文件中含有world字符串的行数。

  上述命令等于 grep -c world file.txt

  匹配多个条件,条件之间为或关系:

  grep 'a\|b' file.txt

  查找file.txt文件中所有含有a或者b的行

  如果需要显示不匹配模式的行,则只需要加-v 选项。

  3. sed(Stream Editor),流编辑器,一般用于执行文本替换。

  Sed是以批处理而不是交互的方式来编辑文件,sed并不会修改源文件,只会把修改的结果发送到标准输出或者写入另外一个文件。

  简单示例:sed 's/world/hadoop/' < file.txt

  把每行中的第一个world替换成hadoop

  命令中引号内开头的s表示要执行替换,sed的用途很多,但是一般用于文本替换。

  主要选项:

  -e 当需要有多个不同的替换时,每个替换命令必须以-e开头:sed -e 's/world/hadoop/' -e 's/hello/hallo/' < file.txt

  -f 当命令比较复杂时,可以把sed命令写入一个脚本文件(文件中的命令不要加单引号),然后执行sed命令时只需用-f指向该脚本文件即可:sed -f sed.txt < file.txt

  -n 默认sed会把源文件的修改结果发送到标准输出(无论是否经过替换,都会发送),选项-n关闭该功能。-n一般和p组合使用,表示只打印替换过的行,其余的行不打印:sed -n 's/world/hadoop/p' < file.txt

  sed命令除了可以以p结尾之外,还可以以g结尾: sed 's/world/hadoop/g',表示全局替换,亦即对每行中所有匹配的文本进行替换,而不是仅仅替换第一个。

  sed命令以数字结尾表示替换每行的第n个匹配字符串: sed 's/world/hadoop/2'

  应用:

  删除文本中所有空行:sed '/^$/d' file.txt

 4. cut 选定字段

  cut用来剪下文本文件里指定的字段,字段是指以定界符分隔的字符串,常见的分隔符有空格,制表符以及冒号。

  简单示例:

  cut -d : -f 1,5 /etc/passwd

  剪取/etc/passwd文件的第15个字段(字段从1而不是0开始标号),定界符为冒号。

  cut -f 1-5 file

  剪取第一到第五个字段

  cut -f 1- file

  剪取第一个到最后一个字段

  5. sort  排序工具

  sort将输入的每行看做一条记录,每条记录由多个字段组成,字段间以空白字符为间隔。

  简单示例:

  sort -t: -k1,1 /etc/passwd

  :为间隔符,以第一个字段为排序字段对文件中的记录进行排序

  可以制定排序键值字段的类型,比如:

  sort -t: -k1,1nr /etc/passwd

  n是指把排序字段当做数值而不是字符串进行比较,如果指定了n,则2排在10前面,否则10排在2前面。

  r是指逆序

  其他常用的的排序键值字段类型为:

  b 忽略开头的空白

  f 不区分大小写

  另外,如果k后只写了一个数字,比如-k2,则意味着排序键值为第二个字段及其以后的所有字段,而不仅仅是第二个字段,如果只想用第二个字段作为排序键值,则应该使用-k2,2

  当出现多个-k选项时,意味着首先用第一个k选项指定的键值进行排序,然后对第一个键值相同的一组记录使用第二个键值排序,以此类推。

  最后,sort的排序是不稳定的。

  6. wc WordCount工具

  wc用来进行计数:

  wc -c file.txt 统计字节数

  wc -w file.txt 统计单词数

  wc -l file.txt 统计行数

  如果不指定任何选项,则是依次输出行数,单词数,字节数。

  7. head tail  取得文件开头或者结尾数行

  head -n file.txt 输出文件的前n

  tail -n file.txt  输出文件的后n

  tail -n -f file.txt  输出文件的后n行,在文件有新的数据加入时显示新的数据(对查看log文件非常有用)

  8. Uniq 删除重复

  用例子说明,设文件file.txt内容为:

a 1

b 1

c 2

d 2

e 3

  则执行uniq -f 1 file.txt的结果为

a 1

c 2

e 3

   执行uniq -u -f 1 file.txt的结果为

   e 3

  9. split 切分文件

  split -l 100 file.txt 把文件file.txt按照100行为单位切分成数个文件,切分后的文件命名为xaa,xab,...

  split -b 200k file.txt 把文件file.txt按照200KB为单位进行切分,切分后的文件命名为xaa,xab,...

  参考文献:

[1] Shell脚本学习指南 

 

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值