git命令:
git diff-tree --no-commit-id --name-status -r <commit hash>
生成一个看起来有点像这样的列表:
D path/to/deleted/file.txt
A path/to/added/file.txt
A path/to/added/file.asd
M path/to/modified/file.txt
我只想grep出添加和修改的(A或M(txt文件及其路径。我知道我可以这样做:
grep -v "^D"
不包括已删除的文件。
和
grep -o "w*.txt$"
只获取txt文件。但是这个命令不会给我文件的路径。由于w
只匹配单词。有没有其他通配符可以匹配到空白字符(这样它就可以删除带有相应空白的A/M(?
使用S
匹配任何非空白的内容。
grep -o 'S*.txt$'
awk /^A/^M/'{$0=$NF} 1'
path/to/added/file.txt
path/to/added/file.asd
path/to/modified/file.txt
$