gpt4 book ai didi

git - 在 bash 脚本中按模式过滤行

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

我有两个变量,一个是文本,另一个是模式。我想过滤掉线条,匹配的模式。我该怎么做?

我的脚本是这样的

# get ignore files list
IGNORE=`cat ignore.txt`

# get changed files list
CHANGED=`git diff --name-only $LAST_COMMIT HEAD`

# remove files, that should be ignored from change list
for IG in $IGNORE; do
echo $CHANGED
$CHANGED=`cat $CHANGED | grep -v $IG`
done

最佳答案

您可以直接将模式文件提供给 grep

# get changed files list and remove files that should be ignored
CHANGED=$(git diff --name-only $LAST_COMMIT HEAD | grep -vf ignore.txt)
echo $CHANGED

(我建议使用 $() 而不是反引号。)


顺便说一句,这一行:

$CHANGED=`cat $CHANGED | grep -v $IG`

大概应该是这样的:

CHANGED=`echo $CHANGED | grep -v $IG`

如果你打算保留它。

关于git - 在 bash 脚本中按模式过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1776585/

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