正则表达式

正则表达式用于多种编程语言,这里使用Linux中的grep程序示例。 下面这三个表用作参考: 表 1 正则表达式中的元字符 元字符 含义 . 匹配任意单个字符(除换行符) ^ 锚:匹配行的开头 $ 锚:匹配行的末尾 \< 锚:匹配单词的开头 \> 锚:匹配单词的末尾 [list] 匹配list中的任意一个字符 [^list] 匹配不在list中的任意一个字符 () 将括号中的内容视为一个单独单元 | 选择其中之一匹配 \ 从字面… 阅读全文

Linux中的前台与后台运行

事实上,在终端中如果对命令不加处理,那么命令会在前台运行。 然而有时候需要将编译、压缩等耗时的工作放到后台运行,这个时候只需要在命令末尾加上&即可。 $ tar -zcvf etc.tar.gz /etc > log.txt 2>&1 & [1] 27914 Shell将命令放在后台运行,并返回了作业号1和进程号27914。 需要注意的是,如果程序在后台运行,那么它将无法接受用户的输入,但是其输… 阅读全文

Linux中的管道命令(五)

grep程序在文本中搜索特定模式的行。 $ cat /etc/passwd | grep tom tom:x:1001:1001:,,,:/home/tom:/bin/bash 上面的例子从/etc/passwd中抽取有gaga的行。 使用-i命令选项忽略字母大小写差异,使用-v选项显示不包含特定模式的行。 -c选项显示匹配行的数量: $ cat /etc/passwd | grep -c bash 3 $ cat /etc/passwd… 阅读全文

Linux中的管道命令(四)

uniq uniq程序查找连续重复的行,一般用于有序数据的查重。 下面是fruit文件的内容: $ cat fruit apple apple banana grape grape grape peach pear pear watermelon uniq程序在没有任何命令选项的情况下,对输入去除重复行后输出: $ uniq fruit apple banana grape peach pear watermelon 它有几个常用的命令选项: -c:去除重复行后… 阅读全文

Linux中的管道命令(三)

tr tr命令将文本中的一个字符替换为另一个字符(除非挤压字符),它不直接读取文件,而是从标准输入中读取信息,它的语法如下: tr [-cds] [set1 [set2]] tr命令将字符集set1中的字符替换为字符集set2中的字符。 下面是data文件中的内容: $ cat data abc DEF GHi abC 12345 67890 下面的命令将data文件中a替换为X: $ tr a X < data Xbc DEF GHi XbC… 阅读全文

Linux中的管道命令(二)

nl nl为文件添加行号,data文件的内容为: abc def ghi 使用nl输出data文件: $ nl data 1 abc 2 def 3 ghi 可以看到,nl为data文件添加了行号,但是并没有为空白行添加行号。 还有一点是,nl程序并不会改变文件,可以使用重定向将输出保存为新文件。 使用-b a选项可以使nl对所有行编号(包括空白行): $ nl -b a data 1 abc 2 def 3 4 ghi 使用-v n设置起始… 阅读全文

Linux中的管道命令(一)

cat cat程序将数据不加改变的复制到标准输出,数据可以来自于标注输入,也可以来自于文件。 下面的程序将输出hello.txt文件的内容: $ cat hello.txt cat命令常被用作组合多个文件,下面的命令将hello.txt和source.list.bk文件的内容组合保存到bk.txt中: $ cat hello.txt source.list.bk > bk.txt split 使用cat可以组合文… 阅读全文

Shell中的管道

管道 管道,从一头进去,从另一头出来。 在Shell中,管道将一个程序的标准输出作为另一个程序的标准输入,就像用一根管子将一个程序的输出连接到另一个程序的输入一样。 管道的符号是|,下面的程序将cat的标准输出作为less的标准输入,以实现翻页的功能: $ cat source.list.bk | less tee 有时候我们想要同时将程序的输出显示在屏幕上(或进入管道)和保存到文件中,这个时候可以使用tee。 tee程序的输出和它的输入… 阅读全文

Shell中的重定向

标准输入、标准输出和标准错误 一个程序的的输入可以来自于键盘,也可以来自于文件或者其他设备;同样的,一个程序也可以将输出显示在屏幕或者保存到文件中。这就涉及到标准输入、标准输出和标准错误。 程序的输入是标准输入,默认是键盘,用户可以将其指定为文件或其他设备。 程序的输出有两种,即标准输出和标准错误,其中标准输… 阅读全文