linux - 如何使用 awk 命令验证文件的内容?

标签 linux bash shell unix sh

我有一个文件 abc.txt,内容如下:

8503 C
8501 C
8500 C

我想通过以下方式验证文件的内容:

对于 8503 - 值必须是“C”
如果是那么成功
否则失败

它应该对文件中的所有内容重复

即。假设文件是​​否包含:

8503 E
8501 C
8500 C

现在 8503 的值为“E”,则失败。 8501 的值为“C”,表示成功

我如何使用 shell 脚本来完成它?


我尝试了以下命令:

awk -F ' ' '$2 != "C" { echo "Value is not C for happy path" }' < /tmp/abc.data

但它给了我一个空白输出,没有显示 echo 。

我想看看文件的第二列是否有除“C”之外的任何值,那么它是失败的。

欢迎任何意见。

谢谢,

最佳答案

如果您想检查第 2 列中是否有任何不是“C”的值会导致“失败”,那么:

 awk '$2!="C"{e=1;exit}END{print e?"fail":"success"}'

关于linux - 如何使用 awk 命令验证文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616154/

相关文章:

c++ - 无法在 Linux 上打开 QLibrary

bash - 使用 netcat 发送 POST 请求

bash - 如何将 wc -l 输出通过管道传输到 echo 输出

bash - 为什么命令重定向不起作用(bash 新手)

linux - 如何使用linux命令或bash脚本解析大量html文件

c++ - 如何获取当前工作目录(current working folder)名称而不是路径名?

我们可以像在 Windows 上一样直接用 C 在 OS X 和 Linux 上制作图形吗?

shell - 假设我的输入文件是表分隔的,我如何使用 AWK 获取类名和可执行时间

linux - 使用 Linux shell 脚本从文件中删除 ^H 和 ^M 字符

linux - 上半部分和下半部分概念说明