整理一部分shell 中经常用到的语句和工具
- 按行读取文件,并输出每一行
IFS="
"
for line in `cat $file `
do
echo $line
done
- 单行字符串分割
//使用逗号将字符串分割成数组,并取第一个元素
// 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 是十分强大的流式文本处理器,将输入的内容按行读入模式空间并进行处理。
先看看整体的命令:
sed [optional] 'AddressCommand' file
[optional]
-n : 静默模式,不在默认显示模式空间中的内容
-i : 直接修改源文件
-f :指定修改的文件
-r :使用正则表达式
Address 用于指定处理范围
- 指定行范围处理
startline, endline
如删除5-30行的内容
sed '5,30d' test.txt # d 属于Command ,表示删除
` - 使用正则匹配,对匹配成功的行进行处理
最简单的就是 s/pa