此命令是:
while read -r line
do
modfied="$line"
echo "Found: $modfied"
done < <(git status -s | grep "M " | awk '{if ($1 == "M") print $2}' | grep --file=.git/ForGeneratingSBConfigAlert.txt --fixed-strings)
它打印出git status -s
命令的逐行结果,并获得带有空格的'M'符号(表示文件已被修改)。但我希望它只匹配命令输出的第一个符号,如果第一个符号匹配其中一个,则输出整行:M,A,D,R,C。第二个符号可以是每隔一个符号,甚至是空格< / p>
答案 0 :(得分:0)
在模式的开头使用^
。此符号在行的开头匹配。
... | grep '^M ' | ...
顺便说一句,您可以使用awk
程序中的模式/^M /
将其折叠到awk
命令中 - 这将大大简化您的shell管道。
... | awk '/^M / {print $2}' | ...