题解 | #去掉空行#

去掉空行

http://www.nowcoder.com/practice/0372acd5725d40669640fd25e9fb7b0f

方法1:循环+打印非空的行

【循环读行,只能用while实现】

复制代码
#!/bin/bash while read line do if [[ -z $line ]] then # 删除空行
        continue fi echo $line done < nowcoder.txt
复制代码

复制代码
#!/bin/bash while read line do if [[ $line == '' ]] then # 删除空行
        continue fi echo $line done < nowcoder.txt
复制代码

复制代码
#!/bin/bash while read line do if [[ $line != '' ]] then # 删除空行 echo $line fi done < nowcoder.txt
复制代码

方法2:awk实现

思路1:正则匹配空行&打印当前行内容/行号

#!/bin/bash awk '!/^$/ {print $NF}' #NF表示读出的行号,加$表示为当前行的内容

方法2:awk执行多条语句(用大括号括起来)

#!/bin/bash awk '{if($0 != "") {print $0}}' < nowcoder.txt
#NF表示读出的行号,加$表示为当前行的内容

或管道

#!/bin/bash cat nowcoder.txt | awk '{if($0 != "") {print $0}}' #NF表示读出的行号,加$表示为当前行的内容

#!/bin/bash awk '{if($0 != "") {print $0}}' ./nowcoder.txt
#NF表示读出的行号,加$表示为当前行的内容

方法3:grep查找

Linux grep 命令用于查找文件里符合条件的字符串。

-E 使用正则表达式
-v 过滤掉符合pattern的行

#!/bin/bash grep -Ev '^$'

#!/bin/bash grep -e '\S'

方法4:通过管道可以直接过滤

#!/bin/bash cat nowcoder.txt | awk NF

NF只会记录有数据的行

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 11:29
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-07 13:35
虽然不怎么光彩,经过这件事,可能我真的要去认同“面试八股文早该淘汰!不会用AI作弊的程序员=新时代文盲!”这句话了
HellowordX:Ai的出现是解放劳动力的,不是用来破坏公平竞争环境的,这样下去,轻则取消所有线上面试,严重了会影响整个行业对所有人产生影响,企业会拉高入职考核各种离谱考核会层出不穷
你找工作的时候用AI吗?
点赞 评论 收藏
分享
05-29 09:02
门头沟学院 Java
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
8
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务