gpt4 book ai didi

bash - 如果 grep 失败删除文件

转载 作者:行者123 更新时间:2023-12-04 16:18:02 26 4
gpt4 key购买 nike

嘿伙计们,我有这个小脚本,我需要 grep 所有文件,只留下那些包含关键字的文件,我坚持这一点,对指出我愚蠢的错误的任何帮助表示赞赏:)

#!/bin/bash

server=(server1...server24)

.
.
.

for ((n=0; n <= 24 ; n++))
do
if grep -q "KEYWORD" directory/${server[$n]}.html ; then
echo Empty
else
rm -f directory/${server[$n]}.html
fi
done

.
.
.

最佳答案

如果您让您的代码通过以下方式之一为您执行此操作,则不必确保您的计数匹配:

servers=(foo bar baz)
for server in ${servers[@]}
do
if ! grep -qs "KEYWORD" directory/$server.html
then
rm ...

或者
servers=(foo bar baz)
for ((n = 0; n < ${#servers[@]}; n++))
do
if ! grep -qs "KEYWORD" directory/${servers[$n]}.html
then
rm ...

使用 !反转条件,使其成为“如果文件不包含关键字,则将其删除”。

使用 grep选项 -q安静的输出和 -s以抑制错误消息。

关于bash - 如果 grep 失败删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3870406/

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