来源:大数据球球
命令行操作
1、输出第十行文本的内容
sed -n '10p' jmeter.log
2、查找电话号码
(xxx) xxx-xxxx 或 xxx-xxx-xxxx。(x 表示一个数字)
grep -E "^\([0-9]{3}) [0-9]{3}-[0-9]{4}$|^[0-9]{3}-[0-9]{3}-[0-9]{4}$" file.txt
3、统计文本字符数量
方法一
grep -E "\b[[:alpha:]]+\b" a.txt -o | sort -r | uniq -c| sort -rn
方法二
cat words.txt | tr -s ' ' '\n'|sort|uniq -c |sort -r|awk '{print $2" "$1}'
cat words.txt | xargs -n1 | sort | uniq -c
cat ——浏览文件
tr -s ——替换字符串(空格换为换行)保证了一行一个单词
sort ——默认ASCII值排序,排序号后还会有重复
uniq —— 去重,-c再输出重复次数。结果就是 ”4 abc“ abc出现了4次
sort
-r —— 反向排序,也就是从大到小。得到按频率高低的结果;
-n 按照数值比较排序
awk ——格式化输出,规定输出是先字符串再重复次数,所以先$2再$1,中间空格分隔
4、文件列转为行
1.获取列数
col=$(wc file.txt | awk '{print $2 / $1}')
2. 按列打印
for i in `seq 1 $col`
do
awk -v col="$i" '{print $col}' file.txt |xargs
done
操作文件
sed 命令
Linux sed 命令是利用脚本来处理文本文件。
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。语法
sed [-hnV][-e