:匹配任意长度的字符
?:匹配任意一个字符
[]:匹配[]当中的任意某个字符
{string,string2...}:匹配其中一个字符窜,或...或
抽取文本的工具:
文件内容:less cat
文件截取:head tail
按列抽取:cut
按关键字抽取:grep
cat 多行输出重定向:cat > f1 <<EOF
清空f1:cat < f1 > f1:读入f1再输出到f1
生成f2:cat < f1 >f2
cat < f1 >> f1:生成无数个f1的内容,会导致 硬盘溢出 ,无限重定向。
tac:反向显示
rev:反向显示
-s:压缩连续的空行为一行。
head;tail : -c:取前(后)#个字节(字符)
生成口令:cat /dev/urandom |tr -dc(c表示取反) ‘a-zA-Z0-9_‘ |head -c8
tail -f(follow跟踪):小f跟踪的是文件描述符,删除文件不在跟踪
tail - F: 跟踪的是文件名称,删除文件还会跟踪
按列抽取文本:cut
-d:指明分隔符,默认是tab
-f:fileds
#,#[,#]:离散的多个字段
#-#:连续的多个字段1-6...
-c:按字符切割
cut -c2-5 /etc/shadow
--output-delimiter=STRING 指定输出分隔符。
eg:
cut -d: -f1,3 --output-delimiter=+ /etc/passwd
paste :
合并两个文件同行号的列到一行
paste [OPTION]...[FILE]...
-d 分隔符:指定分隔符,默认用TAB
-s:所有行合成一行显示
eg:
paste f1 f2
paste -s f1 f2
原文:https://blog.51cto.com/14907072/2539471