文本处理
cat file1|command(sed,grep,awk,) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1|command(sed,grep,awk,) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug file1 在文件中查找关键词 ‘Aug’
grep ^Aug file1 在文件中查找关键词 ‘Aug’开始的词汇
grep [0-9] file1 在文件中查找所有包含数字的行
grep Aug -R /var/log/* 在目录‘/var/log’ 及随后的目录中搜搜字符串Aug
sed 's/stringa1/stringa2/g' example.txt 将example.txt文件中的stringa1替换成stringa2
这种方式,其实并没有修改文件的内容。如果想保存修改,通常的做法就需要重定向到另外的一个文件:sed 's/stringa1/stringa2/g' example.txt>example.txt.tmp
这样,example.txt.tmp文件就是修改后的文件.如果无误,那么就可以用 mv example.txt.tmp example.txt 覆盖原文件。
如果想直接修改源文件,而没有这样的过程,可以用下面的命令: sed -i 's/stringa1/stringa2/g' example.txt 这样,就直接修改了example.txt文件
还有一个更简单的方法 : sed -in-place -e 's/stringa1/stringa2/g' example.txt
sed '/^$/d' example.txt 从example.txt文件中删除所有空白行
sed '/*#/d;/^$/d' example.txt 从example.txt文件中删除所有注释和空白行
echo 'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容
sed -e 'ld' result.txt 从文件中排除第一行
sed -n '/stringa1/p' 查看只包含词汇 stringa1 的行
sed -e 's/*$//' example.txt 删除每行最后的空白字符
sed -e 's/stringa1//g' example.txt 从文档中只删除词汇 stringa1 并保留剩余全部
sed -n '1,5p;5q' example.txt 查看从第一行到底5行内容
sed -n '5p;5q' example.txt 查看第5行
sed -e 's/00*/0/g' example.txt 用单个0替换多个00
cat -n file1标示文件行数
cat example.txt |awk 'NR%2==1' 删除文件中的所有偶数行
echo a b c |awk '{pring $1}' 查看一行第一栏
echo a b c |awk '{pring $1,$3}' 查看一行第一和第三栏
paste file1 file2 合并两个文件或量栏的内容
paste -d ‘+’ file1 file2 合并两个文件或量栏的内容,中间用+区分
sort file1 file2 排序两个文件内容
sort file1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sort file1 file2 | uniq -u 删除交集,留下其他的行
sort file1 file2 | uniq -d 取出两个文件的交集
comm -1 file1 file2 比较两个文件的内容只删除 ‘file1’所包含的内容
comm -2 file1 file2 比较两个文件的内容只删除 ‘file2’所包含的内容
comm -3 file1 file2 比较两个文件的内容只删除两个文件共有的部分