如何从svn status循环linux中的文件

edd*_*147 4 linux svn shell loops

作为Linux中的新手,我有以下问题.我有文件列表(这次是由svn状态产生的),我想创建一个脚本来循环它们并用4个空格替换制表符.

所以我想要

....
D      HTML/templates/t_bla.tpl
M      HTML/templates/t_list_markt.tpl
M      HTML/templates/t_vip.tpl
M      HTML/templates/upsell.tpl
M      HTML/templates/t_warranty.tpl
M      HTML/templates/top.tpl
A  +   HTML/templates/t_r1.tpl
....
Run Code Online (Sandbox Code Playgroud)

喜欢的东西

for i in <files>; expand -t4;do cp $i /tmp/x;expand -t4 /tmp/x > $i;done;
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做......

Ada*_*tek 16

您可以使用此命令:

svn st | cut -c8- | xargs ls
Run Code Online (Sandbox Code Playgroud)

这将删除前8个字符,只留下文件名列表,没有Subversion标志.您也可以grep在之前添加cut以仅过滤某些类型的更改,例如/^M/.xargs将文件列表作为参数传递给给定命令(ls在本例中).