---------------------------------------------------------------------------------------
查看某 文件夹 下文件的个数
ls -l |grep "^-"|wc -l
或
find ./company -type f | wc -l
查看某 文件夹 下 文件 的个数,包括 子文件夹 里的。
ls -lR|grep "^-"|wc -l
查看某 文件夹 下 文件夹 的个数,包括 子文件夹 里的。
ls -lR|grep "^d"|wc -l
说明:
ls -l :长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-" :这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l :统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。
---------------------------------------------------------------------------------------
查看内存条个数,每根的信息
#dmidecode | grep -A16 "Memory Device$"
CPU信息:
cat /proc/cpuinfo
内存信息:
cat /proc/meminfo
------------------------------------------------------------------------------------------
列出当前文件夹及各子文件夹下的相应正则的文件,例如所有.o的文件
find ./ -type f | grep '\.o'
对于grep下的正则式中的点需要转义,所以需要引号括起来
---------
另外,用 rm `find ./ -type f | grep '\.o'`可以把上述文件都删掉,注意是`而不是单引号'
``的意思是把其中的命令的执行结果作为rm 的参数。
-------------------------------------------------------------------------------------------
列出当前进程操作的文件数(包括用到的库、通道、链接等)
lsof -p pid | wc -l
-------------------------------------------------------------------------------------------
查看当前文件夹下的子文件夹工文件的大小
du -h --max-depth=1 work/testing
-------------------------------------------------------------------------------------------
对文件按行乱序
awk 'BEGIN{srand()}{b[rand()NR]=$0}END{for(x in b)print b[x]}' dst.11.6_17.uniq > dst.6_17.uniq.rand
-------------------------------------------------------------------------------------------
shell sort
sort -t $'\t' -k 1n,1 -k 2n,2 -k4rn,4 -k3,3 <my-file>
-t $'\t':指定TAB为分隔符
-k 1, 1: 按照第一列的值进行排序,如果只有一个1的话,相当于告诉sort从第一列开始直接到行尾排列
n:代表是数字顺序,默认情况下市字典序,如10<2
r: reverse 逆序排列,默认情况下市正序排列