二、shell对文本的操作
01.查看文本的命令
#cat /etc/passwd(并非对文本文件操作)
#tail -5 /etc/passwd(查看末尾5行)
#tail -f /var/log/messages(对日志文件监视)
02.使用正则表达式的命令
#cat 
sdkjfalkdsjf
sdkjfalkdsjf
ieakjnhgalkdsjlk
ieakjnhgalkdsjlk
#grep aaaa  (具有筛选的作用)
ald;sjflkajds
asdkjflajsdf
sadfa
aaaasdfadffds
aaaasdfadffds
#grep -R -l
#grep byf /etc/passwd
byf:……:…:…
byf123:……:…:…
#grep '\<byf\>' /etc/passwd(筛选)
byf:……:…:…
#cut -d: -f1 /etc/passwd | grep byf(截断)
byf
byf123
#grep byf /etc/passwd | cut -d : -f7(截断+筛选)
/bin/bash
/bin/bash
#cut -d: -f7 /etc/passwd(查看所有用户的主目录)
#sort -t: +2(从第二列开始) -n(ASCII码值排列) /etc/passwd
(按照这个要求保存?否)
#sort -t: +2(从第二列开始) -n(ASCII码值排列) -r(反向排序) /etc/passwd
#sort -t: +2(从第二列开始) -n(ASCII码值排列) /etc/passwd > /tmp/a
#cat /tmp/a(在a这个文件中排列好)
#du(显示文件属性) | sort
1172
1198
12
123
13 
#du(显示文件属性) | sort -n -r 
降序排列
#du | sort | -n -r |head -n 3 |cut -f2 (显示文件属性,降序排列,头3条,第二列内容)
#grep -R (对文件以及子文件筛选)
#grep -R -l(只显示文件名) ‘文件名’
#grep -v(不包含改文件名的查找出来) -l -R -c(行号) -A2 -D2
#cut -d: -f2-4 -c1-5
#sort -n -r -t +2
#grep -A5(显示下文的5行) -B5(显示上文的5行) byf /etc/passwd
#wc /etc/passwd
42 67 1925 /etc/passwd
#wc -l(行) /etc/passwd
42 /etc/passwd
#wc -w(单词) /etc/passwd
67 /etc/passwd
#wc -c(字符) /etc/passwd
1925 /etc/passwd
#cut -d: -f7 /etc/passwd
(把大家的shell显示出来)
#cut -d: -f7 /etc/passwd |uniq(每种shell只显示一种)
#cut -d: -f7 /etc/passwd |sort|uniq(排序+只显示一种)
#cut -d: -f7 /etc/passwd |uniq|wc -l(显示行号)
#diff a.txt b.txt(比较a和b文件的区别)
文件版本不同时:
uniq
diff
patch -p0 < patch.2.6.20
#locate -r "正则表达式"
#grep 'byf' /etc/passwd
#echo *  (是一个文件名)
#echo '*'
*
#grep 's.*k'(包含s,k中间任意多个字符)
#grep 'sherk$' a (以sherk结尾的字符串)
#grep '^sherk' a (以sherk开头的字符串)
匹配单个字符 ‘\.’,'\*'
匹配一个单词 '\<s..k\>'
匹配以aaa开头的单词 '\<aaa'
匹配18个a开头的单词 'a\{18\}'
#vi /usr/shre/dict/words
#grep '.\{40,\}'  name  (四十个字符以上的单词)
#grep '^i.\{18\}n$'
#vi /etc/squid/squid.conf(配置信息)
#grep -v(不包含) '^#' /etc/squid/squid.conf | grep -v '^$'(去掉空格)| wc -l(显示行号)
#%s/byf/tttttt/g(替换全文的byf为tttttt)
#%s/byf\/tttttt/g
#locate -r '正则表达式'
#grep '^[abc]' /etc/passwd(以a或b或c开头的单词)
#grep '^[^a-c]' /etc/passwd (不是以a,b,c开头的单词)
.
.*
^a
a$
\<good
Sh\>
[abc]
[^abc]
a*表示空、a,aa,aaa,……
a?表示一个或零个单独的a
a+表示a,aa,aaa,……
a\{n\} 表示重复了n次的a

Linux shell入门基础(二)的更多相关文章

  1. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  2. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  3. Linux shell入门基础(八)

    八.shell脚本sed&awk 01.sed的使用 流编辑器-Steam Editor #ed /etc/passwd 1,10p …… 1s/root/byf/p(替换root为byf) ...

  4. Linux shell入门基础(五)

    五.bash运算及启动脚本 01.使用bash的命令历史 #history …… #set(显示所有的变量) | grep HIS HISTFILE=/root/.bash_history HISTF ...

  5. Linux shell入门基础(三)

    三.输入输出重定向及管道 01.过滤器   Linux过滤器分三种:     1.过滤器(重定向只对过滤器有作用) #gzip a(将a作为输入源,涉及到输入输出)     2.编辑器     3.交 ...

  6. Linux shell入门基础(七)

    七.bash脚本中的流程控制   条件判断控制   -[]([]中的表达式是否为真)  &&(前边的结果是true的时候执行后边的命令)   ||(前边的结果是false的时候执行后边 ...

  7. Linux shell入门基础(四)

    四.进程优先级前台后台 01.进程控制 #find /name aaa & #ps aux | grep find #updatedb &  #ps aux | grep update ...

  8. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  9. 1)Linux程序设计入门--基础知识

    )Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编译 Makef ...

随机推荐

  1. C++变量的“总分性”(Mereology)

    Stroustrup 在自传中说自己在哲学上深受 Kierkegaard (吉爾凱高爾)的影响,而讨厌黑格尔.所以看 Stroustrup 的书,很少感受到抽象理论的重要性.这也影响了C++的文化:许 ...

  2. C++简单工厂模式

    核心思想:用一个工厂类根据不同的输入条件new出不同的派生类指针,然后由多态调用不同派生类中virtual函数,得到不同的结果 所有的判断处理在工厂类中完成,通过CreateFactory函数,根据不 ...

  3. HDU 4632 CF 245H 区间DP(回文)

    先说HDU 4632这道题,因为比较简单,题意就是给你一个字符串,然后给你一个区间,叫你输出区间内所有的回文子序列,注意是回文子序列,不是回文字串. 用dp[i][j]表示区间[i,j]内的回文子序列 ...

  4. 使用BOOST BIND库提高C++程序性能

    Boost.Bind为函数和函数对象,值语义和指针提供语义了一致的语法.我们首先通过一些简单的例子来看看它的基本用法,之后我们会延伸到嵌套绑定以实现功能组合.理解bind用法的一个关键是理解占位符(p ...

  5. 字符串处理——strpos()函数

    strpos() 函数返回字符串在另一个字符串中第一次出现的位置. 大小写敏感 如果没有找到该字符串,则返回 false. strpos(string,find,start)  string 必需:规 ...

  6. 腾讯QQ、新浪微博等知名社交网络图标素材

    腾讯QQ.新浪微博.QQ空间.淘宝.知乎.支付宝.大众点评等设计网络图标矢量素材. 注意是矢量素材,AI格式.放大缩小不变形. 社交网络图标几乎在网页制作中都会用到.一个好看的图标,完全可以提升整体网 ...

  7. 自然语言处理(5)之Levenshtein最小编辑距离算法

    自然语言处理(5)之Levenshtein最小编辑距离算法 题记:之前在公司使用Levenshtein最小编辑距离算法来实现相似车牌的计算的特性开发,正好本节来总结下Levenshtein最小编辑距离 ...

  8. VM虚拟机上 实现CentOS 6.X下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 1 准备工作 a) 虚拟机上安装CentOS6.x操作系统,参考一下博客内容 http://www.cnblogs.com/seesea125 ...

  9. 玩死人不偿命的CLOUDSTACK

    玩过CLOUDSTACK(CS)的人,一定不会陌生下面的LOG: 2013-12-27 18:26:43,861 DEBUG [allocator.impl.FirstFitAllocator] (J ...

  10. VMware 11安装Mac OS X 10.10

    http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html