shell移动文件|如何用shell批量移动子目录下文件到当前文件夹

shell移动文件|如何用shell批量移动子目录下文件到当前文件夹的第1张示图

① SHELL脚本修改文件名移动到指定文件夹

简单的写了一次, 思路如下,脚本需要放在 test文件夹下主要是用变量赋值分割文件名, 按照-的前后来分割##################################!/bin/bashmkdir 'ralph'mkdir 'bessie'for name in *.bb do newName=${name#*-} q=${name%-*} newName=${newName%.bb} #加上这句话就把.bb 删了 if [ $q = "ralph" ]; then mv $name "ralph/$newName" else mv $name "bessie/$newName" fidone

② 编写shell脚本用来移动文件

首先A服务器得生成一个sshkey,B服务器开启ssh远程登录,给A服务器开权限,并且加入A机器的sshkey。A机器写个计划任务,每天定时去执行脚本,rsync -avz xxx B:/xxx

③ shell 找到并移动文件

两年之后,重回网络知道:请确定你的两个目录: /test /temp 而不是: test temp#! /bin/bashfind /test -name "*.txt" -type f|while read line;do PDIR=`dirname $line|sed 's/\/[^/]*/\/temp/'` mkdir -p $PDIR cp -f $line $PDIR/done

④ 编写shell脚本,实现移动一个文件

[email protected]:~/test$catmv.sh#!/bin/bashusage(){echo"`basename$0`filetomovetargetlocation"exit1}if[$#-ne2];thenusageelseif[-e$1-a-f$1-o-e$1-a-d$1];thenecho"$1exist"temp=`basename$1`echo"filetomv:${temp}"if[-e${temp}];thenwhile[-e${temp}]doecho"${temp}existsincurrentdir"sleep1doneecho"${temp}removed,andbegin"cp-r$1$2exit0elsecp-r$1$2fififi程序没有检查目标文件夹是否存在,可以移动文件及文件夹

⑤ linux怎么将一个文件移动到另一个目录下

cp命令是用于复制的。cp() 复制文件或目录。cp参数:-a或–archive 此参数的效果和同时指定”-dpR”参数相同。-b或–backup 删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。-d或–no-dereference 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录。-f或–force 强行复制文件或目录,不论目标文件或目录是否已存在。-i或–interactive 覆盖既有文件之前先询问用户。-l或–link 对源文件建立硬连接,而非复制文件。-p或–preserve 保留源文件或目录的属性。-P或–parents 保留源文件或目录的路径。-r 递归处理,将指定目录下的文件与子目录一并处理。-R或–recursive 递归处理,将指定目录下的所有文件与子目录一并处理。-s或–symbolic-link 对源文件建立符号连接,而非复制文件。-S<备份字尾字符串>或–suffix=<备份字尾字符串> 用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,预设的备份字尾字符串是符号”~”。-u或–update 使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在,才复制文件。-v或–verbose 显示指令执行过程。-V<备份方式>或–version-control=<备份方式> 用”-b”参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这字符串不仅可用”-S”参数变更,当使用”-V”参数指定不同备份方式时,也会产生不同字尾的备份字串。-x或–one-file-system 复制的文件或目录存放的文件系统,必须与cp指令执行时所处的文件系统相同,否则不予复制。–help 在线帮助。–sparse=<使用时机> 设置保存稀疏文件的时机。–version 显示版本信息。来源:http://www.leixuesong.cn/363

⑥ 怎么通过命令把一个文件移动到另一个文件夹

move的使用非常简单,基本格式为 move A B。

详细步骤:

1、在运行(快捷方式:win键+R)中输入“CMD”打开DOS命令窗口。

2、例如在DOS窗口中输入:"move E:set.txt E:est"(不包括双引号),

DOS命令进行的操作是把“E盘”根目录下的“test.txt”文件移动到“E盘”目录下的“txst”文件夹中。

⑦ Shellscript移动和创建文件

1. 移动一个文件到另外一个文件夹

#!/bin/shshowUsage(){echo"`basename$0`FilePathFolderPath"exit1}[$#-ne2]&&showUsage[!-f$1-o!-d$2]&&showUsagemv-f$1$2exit0

说明:使用的时候,脚本后面跟两个参数,一个是文件全路径(如果文件就在当前目录,只写文件名也成),一个是文件夹路径。

使用例子:./script.sh abc.txt /home/myFolder

2. 在当前目录创建一个文件

#!/bin/shif[$#-ne1];thenecho"`basename$0`FileName"exit1fitouch$1exit0

说明:使用的时候,脚本后面跟一个参数,即要创建的文件名。

使用例子:./script.sh abc.txt

———————————————–

其实你应该先学vi,跳得太快不好。建议买本《鸟哥的Linux私房菜(基础篇)》

不会vi的话,也可以 sudo gedit 打开文本文件直接把我的代码贴进去,然后保存关闭。

chomd +x script.sh 赋予脚本文件可执行权限,最后再用上面示例中的方法执行脚本。

⑧ 求助大神:编写一个shell 脚本 ,移动某个文件夹下的文件到各自的日期组成的目录下

1、主要是从文件名截取出日期,如果固定了位数2、可以先按_分割取第二段echo $file|awk -F\_ '{print $2}'3、然后再取第4位后面的8位4、例如:vi a.sh#!/bin/shfor file in `ls *.jpg`;doecho $filedatedir=$(echo $file|awk -F\_ '{print $2}'|awk '{print substr($1,4,8)}')mkdir $datedir/bin/mv $file $datedirdone

⑨ 如何用shell批量移动子目录下文件到当前文件夹

需要写一个函数#!/bin/bashfunction read_dir(){ for file in `ls $1` do if [ -d $1"/"$file ] then read_dir $1"/"$file else echo $1"/"$file fi done}read_dir $1 > ~/txt_27316324984592for i in $(<~/txt_27316324984592); do mv $i $2; donerm ~/txt_27316324984592 #中间文件,存储文件路径将代码复制到getfile.sh,chmod 777 getfile.sh用法:内path/to/getfile.sh 你要移动的文件夹路径 目标容文件见路径

⑩ linux 的 shell,两个文件夹A,B。想要把A里的文件移动到B中,判断B文件夹

#!/bin/bashfor i in ` ls A`dols B/$iif [ $? -eq 0 ]thenecho Same Folderelsecp A/$i B/fidone试试看这个

未经允许不得转载:山九号 » shell移动文件|如何用shell批量移动子目录下文件到当前文件夹

赞 (0)