检查文本文件中的第一列是否为非空

时间:2018-10-04 16:03:02

标签: bash

file1.txt包含:

aaa:fg
aa:dfg

该命令将给出aaaaa,但是我不确定如何检查它是否为非空。我更喜欢不使用awk

cut -f1 -d: file1.txt

1 个答案:

答案 0 :(得分:1)

一种方法:

#!/bin/bash
while IFS= read -r line
do
    (( n++ ))
    [[ -z $(cut -d: -f1 <<< "${line}") ]] && printf "Line-%s empty: %s\n" "$n" "$line"
done

给出了类似的文件:

aaa:bbb
:ccc
ddd:eee
fff:ggg
:

运行时:

./my.sh < file

产生:

Line-2 empty: :ccc
Line-5 empty: :