整理一部分shell 中經(jīng)常用到的語句和工具
- 按行讀取文件懂扼,并輸出每一行
IFS="
"
for line in `cat $file `
do
echo $line
done
- 單行字符串分割
//使用逗號將字符串分割成數(shù)組,并取第一個元素
// tr -d " " 會去掉字符串中的空格
echo $line | tr -d " " | cut -d ',' -f 1
- 獲取文件名
basename NAME //如果NAME 中帶路徑,將去掉路徑,得到文件名
basename NAME SUFFIX //去掉NAME 中的路徑和指定的后綴SUFFIX
$ basename /home/test/url.txt
url.txt
$ basename /home/test/url.txt .txt
url
- 獲取絕對路徑名
dirname PATH
$ dirname /home/test/url.txt
/home/test/
- sed 簡單使用
sed 是十分強(qiáng)大的流式文本處理器呢灶,將輸入的內(nèi)容按行讀入模式空間并進(jìn)行處理。
先看看整體的命令:
sed [optional] 'AddressCommand' file
[optional]
-n : 靜默模式钉嘹,不在默認(rèn)顯示模式空間中的內(nèi)容
-i : 直接修改源文件
-f :指定修改的文件
-r :使用正則表達(dá)式
Address 用于指定處理范圍
- 指定行范圍處理
startline, endline
如刪除5-30行的內(nèi)容
sed '5,30d' test.txt # d 屬于Command 鸯乃,表示刪除
` - 使用正則匹配,對匹配成功的行進(jìn)行處理
最簡單的就是 s/pa