Linux實用指令碼命令

2021-07-20 15:07:12 字數 2945 閱讀 4071

統計檔案行數:

語法:wc [選項] 檔案…

說明:該命令統計給定檔案中的位元組數、字數、行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的**計數。字是由空格字元區分開的最大字串。

該命令各選項含義如下:

- c 統計位元組數。

- l 統計行數。

- w 統計字數。

cd - 切換到上次訪問的目錄

cut

cut -b 3 輸出第三個位元組

cut -c 3 輸出第三個字元

cut -d 「:」 3 輸出以冒號分隔的第三位

linux檢視系統版本資訊

cat /etc/issue

cat /proc/version

lsb_release -a

tr

進行替換

tr 『a-z』 『a-z』 將大寫字母換成小寫

刪除字元

tr -d 『0-9 』 刪除數字

tr -d 『ab』 刪除字母a b

字符集補集 tr -c

echo hello 1 char 2 next 3 | tr -d -c 『0-9 \n』

-d刪除,-c 補集裡的內容。 補集包括除了數字,空格,換行之外的所有字元。

壓縮字元,去重複只保留第乙個 tr -s

tr -s 』 』 去除多餘的空格

tr -s 『abc』 去除連續的字母a,b,c

如 echo aaabcc | tr -s 『abc』 結果: abc

grep

選取命令grep [-acinv] [–color=auto] 『要找的字串』 filename

-a :將二進位制檔案以text檔案的方式查詢資料

-c :計算找到的』字串』的次數

-i :忽略大小寫

-n :顯示行數

高階用法

-a :後面加數字,表示after的意思,表顯示找到的字串的那一行的後面的n行

-b :後面加數字,表示before的意思, 表顯示找到的字串的那一行的前面的n行

grep -v 『^$』 a.txt | grep -v 『^#』

前半段表示去除空白行,後半段表示去除#開頭

sed

常用選項

-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 stdin的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。

-e∶直接在指令列模式上進行 sed 的動作編輯;

-f∶直接將 sed 的動作寫在乙個檔案內, -f filename 則可以執行 filename 內的sed 動作;

-r∶sed 的動作支援的是延伸型正規表示法的語法。(預設是基礎正規表示法語法)

-i∶直接修改讀取的檔案內容,而不是由螢幕輸出。

常用命令

a :新增,a的後面可以接字串,這些字串會出現在新的一行(當前行的下一行);

sed -n 『1a hahaha』 a.txt //在第1行後面新增hahaha;

sed -n 『1,3a hello world』 a.txt //在第1到第三行後分別新增hello world

如a.txt裡原來的內容:12

3結果:

1hello world

2hello world

3hello world

c :替換,後面接字串,替換n1,n2之間的行;

sed 『1,2c hi』 a.txt //將第一到第二行替換成hi

原始檔:12

3結果:

hi3

d :刪除,後面通常不接引數;

sed 『1,2d』 a.txt //刪除第一到第二行

sed 『1d』 a.txt //刪除第一行

sed 『1,$d』 a.txt //刪除第一到最後一行

sed 『$d』 a.txt //刪除最後一行

p :列印,通常跟sed -n一起用

s :替換,可以直接進行替換工作。通常和正規表示式搭配。 1,20s/old/new/g

awk

nf 每一行字元總數

nr 當前行數

fs 分隔字元,預設空格

awk [-f field-separator] 『commands』 input-file(s)

[-f field-separator] 分隔符,預設是空格

『commands』 核心內容

input-file(s) 輸入檔案

awk -f : 『』 //輸出以:分隔的第

一、第二、第三個引數($0表示一整行)

awk 『nr=1 nr>1 』 //第一行輸出第乙個引數,下面行輸出第一第二個引數

test

-e //改檔名是否存在

-f //該檔案是否存在, 且是否是檔案(file)

-d //該檔案是否存在, 且是否是目錄(directory)

-r //該檔名是否存在,且是否有可讀許可權

-w //該檔名是否存在,且是否有可寫許可權

-x //該檔名是否存在,且是否有可執行許可權

實用shell指令碼命令記錄

q 如何去掉字串中的空格?a 1.刪除行首空格 echo hello world sed s t g 2.刪除行尾空格 echo hello world sed s t g 3.刪除全部空格 echo hello world sed s space g q 如何提取指定字元後面的字元?a echo ...

linux 常用Mysql指令碼命令

新資料庫設定root密碼 visible mysql uroot p visible mysqladmin uroot password 建立使用者和授權 visible mysql uroot p mariadb grant all privileges on to identified by w...

shell指令碼 命令

命令連線符 表示不管前面是否執行成功都要執行 表示前面執行成功才執行後面 表示前面執行失敗才執行後面 read命令 read 選項 值 read p 提示語句 n 字元個數 t 時間秒 s 不顯示 運算子 expr 3 2 結果賦值 sum expr 3 2 或者 sum 3 2 乘法expr 3 ...