字元集合

简介: 字元集合(某一範圍中的單一字元)字元集合的符號是中括號:[ ],中括號裏頭放置要比對的字元範圍,其長度爲1[a-z]:英文小寫字母[A-Z]:英文大寫字母[a-zA-Z]:英文大小寫字母[0-9]:數字[a-zA-Z0-9]:英文數字[xyz]:x 或 y 或 z[a-z_-]:代表英文小寫字母、底線、以及「-」字元,將「-」放在開頭或者結尾[123.

字元集合(某一範圍中的單一字元)

字元集合的符號是中括號:[ ],中括號裏頭放置要比對的字元範圍,其長度爲1

  1. [a-z]:英文小寫字母
  2. [A-Z]:英文大寫字母
  3. [a-zA-Z]:英文大小寫字母
  4. [0-9]:數字
  5. [a-zA-Z0-9]:英文數字
  6. [xyz]:x 或 y 或 z
  7. [a-z_-]:代表英文小寫字母、底線、以及「-」字元,將「-」放在開頭或者結尾
  8. [123.]:表示1、2、3、「.」、「」這五個字符中的一個
    非在開頭放置「!」

括號擴展(Brace Expansion)

括號擴展的符號是:{ },它的用途是組合字符串

  1. 可以找出在 /usr/sbin 和 /usr/bin 目錄中,以 er 結尾的檔案,例如:/usr/sbin/adduer、/usr/sbin/safe_finger

    ls -la /usr/{sb,b}in/*er
  2. 輸出 saby、scdy兩個字符

    echo s{ab,cd}y:
  3. 找到 /bin 目錄中的 zegrep、zfgerp、zcmp 三支程式

    ls /bin/z{[ef]gre,cm}p
  4. 找出 /etc 目錄下以 .confg、.cf、.org 結尾的檔案

    ls /etc/*.{conf,cf,org}
    // ls /etc/apt/sources.list{,.bak} 找出 sources.list 和 sources.list.bak
  5. 找出 /etc 目錄下的檔案 profile 和 profile.bak(「,」之前沒有任何字元表示空字元)

    ls /etc/profile{,.bak}
  6. 在 dir1 ~ dir3 目錄下,都建立 a、b、c 三個子目錄

    sudo mkdir -p /root/tmp/{dir1, dir2, dir3}/{a, b, c}
  7. 輸出天干地支組合,例如:甲子、辛亥等

    echo {甲,乙,丙,丁,戊,己,庚,辛,壬,癸}{子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥}
  8. 九九乘法表

    echo {1,2,3,4,5,6,7,8,9}\*{1,2,3,4,5,6,7,8,9}
  9. 递增

    echo {1..11..3}
  10. 递减

    echo {100..80..5}
  11. 开头补零

    echo {001..10}
  12. 序列扩展

    echo {1..10}
    echo {a..z}

标准输入/输出转向

Unix-like 系统令人称道的地方就是,其标准输入/输出是可以重新指定到别的地方
1. 输出转向 > 转向附加 >>
用法:命令或script > 档案

echo 'hello world!' > hi.txt

原本 hello world 应该显示到屏幕上,由于使用了转向输出,改讯息不再出现,而是由 bash 开启一个新的档案 hi.txt 来存储这个字符串,存成档案后,只要使用 cat、 more、 less 等指令,就可以查看档案内容。

cat hi.txt
more hi.txt
less hi.txt

2. 转向输入 <
由键盘取得资料改由其它档案获取,称之为「转向输入」
wc -l 可以计算由键盘输入资料的行数,输入 line 5 后回车, Ctrl + D 退出


wc -l 统计行数

统计 error.log 存储了多少列的系统讯息

wc -l /var/log//apt/history.log

wc -l /var/log//apt/history.log

转向输入和转向输出合用

用法: 命令或script < 输入档 > 输出档
用例:sort < unsort.txt > sort.txt

unsort.txt 内容如图:


image.png
目录
相关文章
|
7月前
|
存储 Java 索引
JAVASet集合
JAVASet集合
66 0
|
5月前
|
存储 算法 C++
C++中集合的使用
C++中集合的使用
|
存储 Java 索引
1.9 集合
1.9 集合
40 1
|
存储 Java 容器
集合
集合
74 0
|
设计模式 安全
集合
集合
75 0
|
索引
集合理解
集合的个人理解笔记 与二叉查找树规律
77 0
16 集合(下)
16 集合(下)
105 0
|
存储 JavaScript 前端开发
集合的实现
集合的实现
集合的实现
|
存储 安全 索引
集合 详解
集合 详解
138 0