如何将同一个目录下的其他文件全部移到本目录下的其中一个文件中?

在部署环境时碰到一个问题,部署H5时,只有对一个文件目录有权限,H5是有很多个文件的,每次更新备份时都需要先新建一个文件,然后使用MV ./*.js MV ./*.map以及MV xxx直到把所有文件移到那个备份的文件夹内为止,感觉这样很麻烦,探索了一下,如何把某个目录下的除X文件外的其他文件全部移入X文件里呢?

可以使用grep 以及xargs来实现,如下所示,演示将此目录下的所有文件全部移入sunny目录下

mv `ls | grep -v sunny|xargs` sunny
#新建很多个文件​
​[root@redhat web-index]# mkdir a s d f g h j y t r e 
[root@redhat web-index]# ls
a  d  e  f  g  h  j  r  s  t  y
# ​新建备份的文件目录
[root@redhat web-index]# mkdir sunny
[root@redhat web-index]# ls
a  d  e  f  g  h  j  r  s  sunny  t  y
# 将此目录下的其他文件全都移到sunny目录下​
[root@redhat web-index]# mv `ls | grep -v sunny|xargs` sunny
#查看本目录​只剩下sunny文件
[root@redhat web-index]# ls
sunny
# 查看sunny目录下有之前的同级目录下的除sunny外的​所有文件
[root@redhat web-index]# ls sunny/
a  d  e  f  g  h  j  r  s  t  y
[root@redhat web-index]#

解释:使用man grep可以看到使用说明
-v, --invert-match
Invert the sense of matching, to select non-matching lines. (-v
is specified by POSIX.)
-v 反转匹配,意味着反转匹配,以选择不匹配的行

xargs - build and execute command lines from standard input
xargs-从标准输入生成并执行命令行,一般会与grep同用,即将前一个命令的输入作为参数带到下一个命令。

``反单引号的作用是先执行反单引号里面的命令。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值