赞
踩
查看当前目录下文件的个数
ls -l | grep "^-" | wc -l
查看当前目录下文件的个数,包括子目录里的。
ls -lR| grep "^-" | wc -l
查看某目录下文件夹(目录)的个数,包括子目录里的。
ls -lR| grep "^d" | wc -l
某目录下以.js结尾的文件个数:ls -lR | grep "^-" | grep ".js$" | wc -l
简要说明:
ls -l
长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l
统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数
2、求文件内数据的平均值
输入文件number.txt内容格式如下:
123
456
78
9
65
要求求出平均值及最大和最小值,同时统计出落在各个区间的数量,比如:
[0-100]:5
[200-300]:12
[300-400]:23
解决方案:
awk '{a[NR]=$0;sum+=$0}END{asort(a);printf"min:%d max:%d avg:%f\n" ,a[1],a[NR],sum/NR;while(i++100 && a[i]<=200){j["100-200"]++}else if(a[i]>200 && a[i]<=500){j["200-500"]++}}for( k in j)print k":",j[k]|"sort" }' test.txt
3、vi编辑过长文件
:set nowrap
:set wrap
4、远程同步,保持时间戳、权限不变
(--times、--perms、--owner 和 --group 或 -tpog)分别让 rsync 保持原来的更新时间戳、权限、所有者和组信息。
rsync -t test.js admin@10.20.136.25:/home/admin/www_cn/htdocs/js/ued/
5、查看文件的某几行
方法1:head与tail组合
前10行中取后5行(即6行到10行):head -10 antx.properties | tail -5
方法2:sed
查看特定(几)行
sed -n '45,50p' filename # 显示第45到50行
sed -n '51q;45,50p' filename # 一样,但快得多
6、grep
查询pom.xml中的unicorn单词
grep -ir "unicorn" --include=pom.xml *
或者
find ./ -name '*.xml*' | xargs grep -ir "unicorn"
【注意】
--include=PATTERN
Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN
Recurse in directories skip file matching PATTERN.
7、统计java代码行数
find ./ -name *.java | xargs grep "\n" | wc -l
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。