Я пытаюсь извлечь все измененные файлы из моего репо:
git status | grep modified | awk '{split($0,a,":"); print a[2]}'
Дает мне имена файлов, т.е. где git status
возвращает:
modified: a.txt
modified: b.txt
И awkвозвращает (обратите внимание на пробел):
a.txt
b.txt
Я пытался заменить print
на git checkout
:
git status | grep modified | awk '{split($0,a,":"); git checkout a[2]}'
Но это не сработало.
Затем я подумал, что это может быть связано с пробелами, поэтому я удалил их с помощью
git status | grep modified | awk '{split($0,a,":"); gsub(" ","",a[2]); git checkout a[2]}'
, который, когда я увидел с print
вместо git checkout
, увидел, что имена файлов печатаются без пробелов,как я хотел.
Однако это тоже не сработало и без каких-либо предупреждений.Я подумал, что это может быть связано с тем, что awk не вызывает команду, просто редактирует текст, поэтому я попытался добавить evil
раньше, но безрезультатно ...
Как я могу сделатьэто работа?