二、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++ 异常处理的语义和性能

    异常处理是个十分深奥的主题,这里只是浅论其对C++性能的影响. 在VC++中,有多个异常处理模式,三个最重要: No exception handling (无异常处理) C++ only (C++语 ...

  2. Python django admin 替换表单控件

    测试版本: Python 2.7 Django 1.6.2 models.py from django.db import models class Article(models.Model): ti ...

  3. 谈.Net委托与线程——解决窗体假死

    转自:http://www.cnblogs.com/smartls/archive/2011/04/08/2008981.html#2457370   引言 在之前的<创建无阻塞的异步调用> ...

  4. javascript 向上滚动

    <html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Co ...

  5. The app icon set named "AppIcon" did not have any applicable content.

    Develop Tools: xCode 5.1 I write a demo for app settings feature. The tutorial url is here. When I a ...

  6. memcpy函数的使用方法

    c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中. 1.函数原型 void *memcpy(void * ...

  7. Python使用Pygame.mixer播放音乐

    Python使用Pygame.mixer播放音乐 frequency这里是调频率... 播放网络中的音频: #!/usr/bin/env python # -*- coding: utf-8 -*- ...

  8. html5 本地存储

    < ![CDATA[ 1. html本地存储操作 首先引用 <script src="Scripts/jquery-2.0.0.js"></script&g ...

  9. COJ 1008 WZJ的数据结构(八) 树上操作

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=986 WZJ的数据结构(八) 难度级别:E: 运行时间限制:3000ms: ...

  10. oracle触发器使用总结

    1.说明 1)触发器是一种特殊的存储过程,触发器一般由事件触发并且不能接受参数,存储器由语句块去调用 2)触发器分类: 1.DML触发器: 创建在表上,由DML事件引发 2.instead of触发器 ...