正則表達式
符號 | 描述 |
---|---|
$ | 匹配輸入字符串的結尾位置 |
() | 標記一個子表達式的開始和結束位置 |
* | 匹配前面的子表達式零次或多次 |
+ | 匹配前面的子表達式一次或多次 |
. | 匹配除換行符(\n)之外的任何單字符 |
[] | 匹配一個中括號表達式的開始 |
? | 匹配前面的子表達式零次或一次 |
\ | 將下一個字符標記為特殊字符 |
^ | 匹配輸入字符串的開始位置 |
{} | 標記限定符表達式的開始 |
| | 指明兩項之間的一個選擇 |
定位符號 | 描述 |
---|---|
^ | 匹配輸入字符串開始的位置 |
$ | 匹配輸入字符串結尾的位置 |
非打印字符 | 描述 |
---|---|
\n | 匹配一個換行符 |
\r | 匹配一個回車符 |
\t | 匹配一個制表符 |
統計/etc/ssh/sshd_config文件中去除空行和#號開頭的行
[root@VM_0_7_centos ~]# grep -v '^$\|^#' /etc/ssh/sshd_config
擴展正則表達式
[root@localhost ~]# grep -E -v '^$|^#' /etc/ssh/sshd_config
擴展正則表達式
[root@localhost ~]# egrep -v '^$|^#' /etc/ssh/sshd_config
cut
cut命令用來顯示行中的指定部分,刪除文件中指定字段
該命令有兩項功能
其一是用來顯示文件的內容,依次讀取由參數file所指明的文件,將它們的內容輸出到標准輸出上
其二是連接兩個或多個文件,
如cut f1 f2 > f3
將把文件f1和f2的內容合並起來,然后通過輸出重定向'>'把他們放入文件f3中
語法
cut(選項) (參數)
選項
- -b 僅顯示行中指定范圍的字節數
- -c 僅顯示行中指定范圍的字符
- -d 指定字段的分隔符,默認的字段分割符是'tab'
- -f 顯示指定字段的內容
取出passwd中第一列的用戶名
[root@VM_0_7_centos ~]# cut -f1 -d ":" /etc/passwd
root
bin
...
以:為分割符,取出第一列
cut命令可以將列中的某幾個字節,字符,字段取出
-
-b 表示字節
-
-c 表示字符
-
-f 表示定義字段
-
n- 從第n個(字節,字符,字段)到結尾
-
n-m 從第n個(字節,字符,字段)到第m個(字節,字符,字段)
-
-m 從第一個(字節,字符,字段)到第m個
每一列的前三個字母
[root@VM_0_7_centos ~]# cut -c1-3 /etc/passwd
roo
bin
每一列的前兩個字母
[root@VM_0_7_centos ~]# cut -c-2 /etc/passwd
ro
bi
從第五個字母到最后
[root@VM_0_7_centos ~]# cut -c5- /etc/passwd
:x:0:0:root:/root:/bin/bash
x:1:1:bin:/bin:/sbin/nologin