您的位置:首页 > 其它

20190129

2019-01-29 23:17 471 查看

1文件名通配符
1.1 匹配模式 字符

  • 匹配任意长度的字符串 a ,a,ab;
    ?匹配任意字符的《单个字符》
    [ ] 匹配指定范围内的字符集
    例如:[A-Z]代表匹配从A到Z任意《单个字符》
    [a-z]代表匹配从a到z的任意《单个字符》
    [0-9]代表匹配从0-9的任意《单个字符》
    还有一些特殊标记的用英文代表
    [ [:upper:] ] 代表所有大写字母 相当于[A-Z];
    [ [:lower:] ] 代表所有小写字母 相当于[a-z];
    [ [:alpha:] ] 代表所有字母;
    [ [:digit:] ] 代表所有数字 相当于[0-9];
    [ [:alnum:] ] 代表所有数字和字母 那么就相当于?或者*吗???
    [ [:space:] ] 代表所有空格;

[ ^ ] 匹配范围之外的所有字符
举例:[^[0-9]],[^[a-z]],[^[A-Z]]

2 I/O定向及管道:
分类:
输入的数据流:stdin ,键盘
输出的数据流:stdout,显示器
错误的数据流:stderr,显示器

标准输入 0;
标准输出 1;
错误输出 2;

输入 :定向输入 < ,<<
输出 :定向输出 >, >>
正确定向输出 1> ,1>> 或者> ,>>
错误定向输出 2> ,2>>

< 如果原来文件夹下有信息,那么代表覆盖掉
> << 如何原来文件下有信息,那么不覆盖掉,一并保存

这里可以使用命令set -C 强制不允许覆盖;
set+C 开启可以覆盖模式(默认是开启的);

正确的输出和错误的输出合并一起后: &>, &>>,
举例 :建立一个a.txt文件夹,查询home/ycl下的所有文件,并保存到a.txt文件下:
touch a.txt #建立文件夹
ll -a >> /home/ycl/a.txt #查询home/ycl下的所有文件,并保存到a.txt文件下
lll -a &>> /home/ycl/a.txt #第二次错误输出也保存在a.txt文件夹下
cat a.txt #查询a.txt文件

drwx------. 5 ycl ycl 120 Jan 29 06:47 .#正确的输出
......
bash: lll: command not found... #错误的输出

3 tr 命令
tr set1 set 2 < /PHAT/TO/SOFTFILE
tr 'a-z' 'A-Z'

举例:查询当前目录下的文件名字并转换成大写输出到b.txt文件夹下
ls | tr 'a-z' 'A-Z' > /home/ycl/b.txt  #
cat b.txt
A.TXT
B.TXT
把b.txt文件夹下的 AB  变成XY
ls | tr 'abc' 'XYZ' > /home/ycl/b.txt
cat b.txt
X.txt
Y.txt

4 管道符 |
定义:连接程序实现将前一个命令的输出直接定向另一个程序当做输入的数据流;
COMMAND | COMMAND |COMMAND
举例 ls /home/y | head -11f | tar [a-z] [A-Z]
取y文件夹下的文件名属性,输出前11项,并用大写显示出来

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  学习