- 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