1、统计 /data/ 目录底下的文件数量 (包含子目录)
# 统计 /data/ 目录底下包含子目录里面有多少文件
ls -lR | egrep "^-" | wc -l# 统计 /data/ 目录底下包含子目录里面有多少文件
ls -lR | egrep "^d" | wc -l注释:
-R :递归列出文件
2、Linux中目录底下的文件数量或者目录过多,ls命令容易卡死,使用以下命令展示文件名和目录
1. 在一个有几百万文件的目录中执行ls命令,ls就卡在那了
2. ls命令为什么会卡住?
默认情况下,ls命令会将输出排序。为了排序,ls命令先将所有文件的名称读入内存。当遇到一个非常大的目录时,它就在那里不断地读入文件名,并且内存占用越来越大,直到将所有文件一次性以字母数字顺序列出来。
而 ls -1 -f 命令并不执行排序操作,只是读取目录然后立即显示文件。
3、从文件中提取数据(sed命令)
1. 获取文件中 第2行 内容
sed -n "2p" 1-100.log
2. 从 第1行到第6行
sed -n "1,6p" 1-100.log
3. 从 第 20行到 第 60行
sed -n "20,60p" 1-100.log4. 从指定行到最后 第 5行到最后一行
sed -n '5,$p' 1-100.log
5. 要删除第 3行到最后一行
sed '3,$d' 1-100.log6. 要删除 指定行 第2行
sed '2d' 1-100.log
7. 从匹配到的内容到最后一行 匹配 50 到最后一行sed -n '/50/,$p' 1-100.log
8. 批量替换内容 匹配文件中的 99换成 ceshi
sed -i 's#99#ceshi#g' 1-100.log注意: sed -i 's#原内容#替换成的内容#g' 文件名
注释:
-n 寂静模式,抑制来自sed命令执行过程中的冗余输出信息,比如只
显示那些被改变的行。-i 直接修改读取的文件内容,而不是输出到终端
$p 最后一行
d 删除,删除选定的行