find的使用格式如下:$ find <指定目录><指定条件><指定动作>
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
对于本问题来说,可以使用-type d约束只搜寻文件夹,使用-empty约束寻找空文件夹。
find -type d -empty
请参考《Linux就该这么学》基础命令。
方法一:利用grep
grep -v '^\s*$' test.txt
注:-v表示将匹配的结果进行反转,正则表达式匹配空行。(空行可包括空格符制表符等空白字符)
方法二:利用sed
sed '/^\s*$/d' test.txt
注:d代表删除该行
方法三:利用awk
awk NF test.txt
注:NF代表当前行的字段数,空行的话字段数为0,被awk解释为假,因此不进行输出。
以上三种方式均可处理包含空白字符(空格符,制表符等)的空行。
方法四:若空行均由’\n'造成,则还可以利用tr命令去除空行。《Linux就该这么学》
tr -s '\n' <test.txt
注:-s代表将多个连续的字符压缩成一个字符,这里是将多个‘\n'压缩成一个'\n',达到去除空行的效果。
方法四的缺陷:如果首行就出现空行的话则无法去除首行的空行
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)