Linux
將文件移回 2 個目錄
$ cat file /tmp/foldera/folderb/folderc/file1 /tmp/folderc/folderd/foldere/file2 /tmp/folderf/folderg/folderh/file3
需要將此文件移動到
/tmp/foldera/ /tmp/folderc/ /tmp/folderf/
分別使用循環或任何簡單方便的方法來做到這一點。
使用 while 循環:
while IFS= read -r l; do mv -v -- "$l" "${l%/*/*/*}/" done <file
while IFS= read -r l
將file
逐行讀取。mv -v
移動文件並-v
告訴mv
它是冗長的
"$l"
是源文件名"${l%/*/*/*}/"
是目標目錄。/*/*/*
它從文件名的後端刪除 3 個斜杠以及它們之間的內容 ( )。這將產生:
»/tmp/foldera/folderb/folderc/file1“ -> »/tmp/foldera/file1“ »/tmp/folderc/folderd/foldere/file2“ -> »/tmp/folderc/file2“ »/tmp/folderf/folderg/folderh/file3“ -> »/tmp/folderf/file3“