gpt4 book ai didi

awk - 遍历文件以计算字段数

转载 作者:行者123 更新时间:2023-12-04 22:03:43 28 4
gpt4 key购买 nike

我有一个 bash 脚本,用于从 .txt 文件添加用户。这真的很简单:

name firstname uid gid

空格分隔值

我想用 awk 检查每行是否包含 4 个字段。如果是我想返回 1,如果不是返回 0。

file=/my/file.txt
awk=$(awk -F' ' '{(NF != 4) ? res = 0 : res = 1; print res)}' $file)
echo $awk

现在,awk 为每一行返回 1,但我希望它在末尾返回 1 或 0,而不是为文件中的每一行返回。

最佳答案

在 UNIX 上,成功时返回 0,出错时返回 !=0。对我来说,当所有记录都有 4 字段时返回 0 更有意义,而当并非所有记录都有 4 字段时返回 1

为此,请使用 exit :

awk 'NF!=4{exit 1}' file

仅供引用:默认情况下,awk 将以 0 退出。

如果你想在 shell 条件中使用它:

#!/bin/bash
if ! awk 'NF!=4{exit 1}' file ; then
echo "file is invalid"
fi

PS:-F' ' 在你的例子中是多余的,因为 ' 'default field delimiter .

关于awk - 遍历文件以计算字段数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48429976/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com