Linux学习笔记之管道重定向与正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记之管道重定向与正则表达式相关的知识,希望对你有一定的参考价值。
管道:前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3| 命令4
#tee 即在显示器显示,又在文件在保存文件
例#echo “hello ,word” | tee /tmp/ hello.out
例#wc -l /etc/passwd | cut -d‘ ‘ -f1
I/O重定向
> 输出重定向 ,覆盖输出
> > 追加输出
#set -C 禁止对已存在文件使用覆盖重定向,强制覆盖输出,则使用 >|
#set +C 关闭上述功能
2> :重定向错误输出
2 >> :追加重定向错误输出
例:#ls /varr > /tmp/var.out 2> /tmp/var.out ,正确输出和错误输出覆盖/tmp/var.out 文件
&> :重定向标准输出或错误输出至同一文件
< 输入重定向 ,
例:# tr ‘a-z‘ ‘A-Z‘ < /tmp
<< 追加输入
例1:#cat >> /tmp/file.txt <<EOF :把键盘输入保存到file.txt
例2:#cat <<EOF
d|D Show delect
U|u Show UID
EOF : 把内容信息在脚本中显示出来
正则表达式:Regular Expression ,REGEXP
Basic REGEXP :基本
Extended REGEXP :扩展
基本正则表达式:
元字符:
. 任意单个字符
示例 #grep ‘r..t’/etc/passwd
* 其前面字符匹配次数
.* 匹配任意长度的任意字符
\? 匹配其前面的字符1次或0次
\{m,n\} 表示其前面的字符至少出现m次,至多出现n次
位置锁定:
^ :锚定行首 ,此字符后面的任意内容必须出现在行首
示例:grep ‘^r..t’ /etc/passwd
$: :锚定行尾,此字符前面的任意内容必须出现在行尾
示例: grep ‘b$‘ /etc/passwd
^$ :空白行
示例:grep ‘[[:digit:]]‘ /etc/inittab
\< 或者\b:表示其后的任意字符必须作为单词首部出现
\> 或者\b : 表示其前面的任意字符必须作为单词的尾部出现
分组
\(\) \(ab\) 表示ab一个整体
\1 :表示第一个左括号及与之相对应的右括号之间的内容相匹配
例:#grep `.*\(l..e\) .* \1’/tmp/
例# grep ‘\([0-9]\).*\1$‘ /etc/inittab
例:#grep ‘^1\([0-9]\):\1.*\1$‘ /etc/inittab
扩展正则表达式:
字符匹配
. 任意单个字符
[] 匹配指定范围内的任意单个字符
[^] 匹配指定范围以外的任意单个字符
次数匹配
* 其前面字符匹配次数
? 匹配其前面的字符1次或0次
+ 匹配其前面的字符至少一次
[m,n] 表示其前面的字符至少出现m次,至多出现n次
锚点字符
^ 锚定行首 ,此字符后面的任意内容必须出现在行首
$ 锚定行尾,此字符前面的任意内容必须出现在行尾
\< 表示其后的任意字符必须作为单词首部出现
\> 表示其前面的任意字符必须作为单词的尾部出现
分组
()
\1 \2 \3
或者
| :b|a 左边字符或者右边字符
示例: #grep -E --color ‘^[[:space:]]+ ‘ /boot/grub/grub.conf
本文出自 “Wish_亮” 博客,请务必保留此出处http://itwish.blog.51cto.com/11439802/1965086
以上是关于Linux学习笔记之管道重定向与正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
linux--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)