gpt4 book ai didi

linux - 排除文件的grep数组参数

转载 作者:IT王子 更新时间:2023-10-29 00:46:10 24 4
gpt4 key购买 nike

我想从我的 grep 命令中排除一些文件,为此我使用参数:

--exclude=excluded_file.ext

为了更容易阅读,我想使用带有排除文件的 bash 数组:

EXCLUDED_FILES=("excluded_file.ext")

然后将 ${EXCLUDED_FILES} 数组传递给 grep,例如:

grep -Rni "my text" --exclude=${EXCLUDED_FILES}

如何将数组作为参数传递给 grep 命令?

最佳答案

变量不会作为参数传递给程序; 值(value)观是。变量(尤其是数组)由 shell 扩展为一个或多个单词,并且每个单词 都作为单独的参数传递给程序。在这种特定情况下,--exclude 选项将单个文件名作为其参数,因此您需要从数组中构建多个 --exclude=foo 参数。一种选择:

for f in "${EXCLUDED_FILES[@]}"; do
opts+=( --exclude="$f" )
done
grep -Rni "my text" "${opts[@]}"

关于linux - 排除文件的grep数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41429296/

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