- awk
awk取自三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的姓名首字符,是一种处理文本文件的语言。
cat file.txt
1,5,6
2,5,6
3,7,8
awk -F ',' '$1==2 && $2==5 {print $NF}' file.txt
6
-F:分隔符。
其中的$1..$n表示第几例。注:$0表示整个行。
单引号中的被大括号括着的就是awk的语句,注意,其只能被单引号包含。
- sed
sed全称是stream editor,即流处理编辑器,利用脚本来处理文本文件。我主要使用的是其全文替换的功能。
cat file.txt
HELLO LINUX!
Linux is a free unix-type opterating system.
This is a linux testfile!
Linux test
sed 's/Linux/world/g' file.txt
HELLO LINUX!
world is a free unix-type opterating system.
This is a linux testfile!
world test
sed并不会修改原文件,如果需要保存修改结果可以重定向到文件中。
- iconv
iconv命令将给定文件把它的内容从一种编码转换成另一种编码。
iconv [-f encoding] [-t encoding] inputfile -o outpufile
支持编码可以使用以下命令查看。
iconv -l