如何使用 Linux 命令提取特定列中包含空白的行

How to extract lines containing blank in a specific column with Linux command

示例:

aa\tab\tac\tad\tae
ba\tbb\tbc
ca\tcb\tcc
da\tdb\tdc\tdd

预期输出:

ba\tbb\tbc
ca\tcb\tcc

我想用 linux 命令提取第 4 列中包含空白的行。如果你知道命令,可以告诉我吗?

你可以使用cut,用""作为分隔符,检查字段4是否为空。然后使用 grep -v 检查尾随的“”是否存在。 在 If 语句中,您可以获得结果。

text='aa\tab\tac\'    

if [[ -z $(echo $text | cut -d \ -f 4 | grep -v \\$) ]]; then
    if[[ -z $(echo $text | grep -v \\$) ]]; then
        echo $text
    else
        echo 'Text has a slash at the end'
    fi
else 
    echo 'Not valid input'
fi

使用awk

$ awk -F"\" '{if(=="") print}' input_file
ba\tbb\tbc
ca\tcb\tcc