大家好,有几个个实际问题请大家指点一下:
1,如何一次性完成涉及多文件的命令。
在使用svn时有时需要一次性把很多文件加入版本控制,通过“svn st | grep ?”命令可以得到文件列表,但每行都以‘?’开头所以无法直接通过xargs传给svn add。 请问如何才能把那些?过滤掉呢?
例:
得到的文件列表:
d:\PROJET\ofbizAndroid.git\trunk>svn st | grep !
? main.xml
? logo.png
? bin
? gen
? add.png
希望最终执行的命令:
svn add main.xml logo.png bin gen add.png
2,如何把folder文件夹下所有文件和子文件夹拷贝并覆盖到folder2文件夹,但是不包括以'.'开头的隐藏文件和文件夹。
3,如何用命令行实现两个文件夹的同步。这个听上去要复杂些,不知是否有牛人了解。
求教:用Linux命令行实现文中的3个操作
-
- 帖子: 3
- 注册时间: 2012-07-24 3:26
- sgsdxzy
- 帖子: 430
- 注册时间: 2008-07-19 11:14
Re: 求教:用Linux命令行实现文中的3个操作
1、svn st | sed “^\?/s/^\?//g” |xargs...
2、(pwd=folder时) for i in *; do `echo "$i" | grep "^\."` || mv "$i" (where is folder2); done
3、用rsync行吗?
不一定对,你先试试看……
2、(pwd=folder时) for i in *; do `echo "$i" | grep "^\."` || mv "$i" (where is folder2); done
3、用rsync行吗?
不一定对,你先试试看……
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 求教:用Linux命令行实现文中的3个操作
代码: 全选
>>> cat =svnaddall
#!/bin/bash
# 将当前目录下的所有文件纳入 svn 版本控制
svn status|awk '{if($1 == "?"){print $2}}'|xargs svn add
-
- 帖子: 3
- 注册时间: 2012-07-24 3:26
Re: 求教:用Linux命令行实现文中的3个操作
谢谢你的回复`sgsdxzy 写了:1、svn st | sed “^\?/s/^\?//g” |xargs...
2、(pwd=folder时) for i in *; do `echo "$i" | grep "^\."` || mv "$i" (where is folder2); done
3、用rsync行吗?
不一定对,你先试试看……

第一个没能成功不过倒是给了我提示,正确的命令; svn st | grep ? | sed "s/?//" 后面可以接xargs啦
rsync暂时没时间研究呢 回头看看先上班喽

-
- 帖子: 3
- 注册时间: 2012-07-24 3:26
Re: 求教:用Linux命令行实现文中的3个操作
Yes, it works!lilydjwg 写了:代码: 全选
>>> cat =svnaddall #!/bin/bash # 将当前目录下的所有文件纳入 svn 版本控制 svn status|awk '{if($1 == "?"){print $2}}'|xargs svn add
