如果在每第3行上找不到,则如何用字符串grep行,如果在下一行没有找到

时间:2019-01-16 23:21:22

标签: bash grep

我正在尝试对每个字母找到带有模式“ 01”的行,如果不是grep“ 02”,如果不是grep“ 03”。

    server {
    listen 80;
server_name agros.uz www.agros.uz;

location = /favicon.ico { access_log off; log_not_found off; }

location /static/ {
       root /home/root/uzagro_4/;
}

location / {    
   proxy_set_header Host $http_host;
   proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_pass http://unix:/home/root/uzagro_4/myproject.sock;
    }
}

file1就像

$ sed -n '/01/p' file1 > file2

文件2中的预期结果,例如

a01
a02
a03
k01
k02
k03
m02
m03
l01
l03
y03
c02
c03

2 个答案:

答案 0 :(得分:2)

此魔咒会在第一次看到第一个字符的行上打印:

awk '!seen[substr($1,1,1)]++' file

答案 1 :(得分:1)

sort <file1> | uniq -w 1

这将仅比较输入文件中的第一个字母。让我知道是否可行。假设您的文件是经过排序的文件。