小编Z E*_*Nir的帖子

如何检查文件的第一行是否包含特定字符串?

我需要写一个shell脚本,找到并打印的所有文件,其中以开头的目录:#include。现在,我知道如何使用以下命令检查文件中是否存在字符串:

for f in `ls`; do
    if grep -q 'MyString' $f; then:
        #DO SOMETHING
    fi
Run Code Online (Sandbox Code Playgroud)

但是如何将其应用于第一行?我想可能会创建第一行的变量并检查它是否以 开头#include,但我不确定如何执行此操作。我尝试了该read命令,但无法读入变量。

我想听听解决这个问题的其他方法;也许awk?无论如何,请记住,我需要检查第一行是否以 开头#include,而不是它是否包含该字符串。这就是我发现这些问题的原因:仅当第一行与特定模式匹配时,如何打印文件内容? /sf/ask/387521291/ 他们并没有完全帮助。

shell grep read

7
推荐指数
2
解决办法
1万
查看次数

使用 bash 中的 awk,如何在“if”子句中执行多个语句?

考虑以下文件 ( datafile):

1001 Alice Rotterdam Netherland 48 FEMALE
1002 Bob Brussels Belgium 13 MALE
1003 Carol Tel-Aviv Israel 20 FEMALE
1004 Dee Manhattan USA 17 FEMALE
1005 Euler Paris French 71 MALE
1006 Fiona Paris French 12 MALE
1007 Gordon Moscow Russia 34 MALE
1008 Hana Kanto Japan 24 FEMALE
1009 Ivan Crimea Ukraine 30 MALE
1010 Jenora Crimea Ukraine 25 FENALE
Run Code Online (Sandbox Code Playgroud)

我想计算代表男性的所有记录并打印男性姓名,我需要从 Bash 中完成。如何awk处理“if”子句中的两个语句?

这是我得到的:

awk 'BEGIN{count = 0} {if($6 == "MALE") count+=1; print $2} …

awk

0
推荐指数
1
解决办法
683
查看次数

标签 统计

awk ×1

grep ×1

read ×1

shell ×1