mv遇到空格和小括號檔案引發的問題

2021-07-17 01:40:06 字數 1032 閱讀 8593

最近整理一些檔案遇到一件很糾心的事情,用了很多的方法,但均未成功將檔名中包含空格和括號的檔案整理成功。問題如下:

比如在當前documents目錄下有大致500多份檔案其中百分之80是以abc (0).log或abcdef  ( 2 ).log,同時子目錄也有可能是是/aa  bb/或/aaa bbb ccc/這類的,通過shell指令碼來實現時,一旦到了含空格檔名的時候全部卡殼或是執行失敗,用過sed, awk, rename可是到了mv $file $dest_fn的時候要麼檔案全部被mv到 /dev/null 或被重新命名為(null).log這裡用(null)表示檔名全部給刪除了,要麼就是檔案是什麼樣子還是什麼樣子。**塊如下:

複製內容到剪貼簿

**:#!/bin/bash# this is a test sample script

for i in `ls -ir|grep -e "[a-za-z0-9]*.log|awk ''`

doname=`find . -inum $i"|awk -f '/' '`

stu_fn=$(echo $name|tr -d ' ', '\(', '\)')

mv "./$name" "./$stu_fn"

done

這裡我把$path用當前資料夾所在位置代替了。

原先用過

複製內容到剪貼簿

**:ls -ir|awk '",$2,$3,"\;"}'

提示line1 mv >>>錯誤

然後我把最後的$2刪除,問題也同樣是提示line1 mv >>>錯誤

通過不斷的完善,終於完美解決這個問題。以下是**塊:

複製內容到剪貼簿

**:#!/bin/sh

#  sample.sh

#  find . -name "* (*)*"|while read name;do

s_fn=$(echo $name|tr -d ' ','\(','\)');

mv "$name" $s_fn;

done

shell中的大括號和小括號

2009 7 23 13 27 32 在這裡我想說的是幾種shell裡的小括號,大括號結構和有括號的變數,命令的用法,如下 1.2.cmd 3.和 4.5.exp 6.var pattern var pattern var pattern var pattern 現在分述如下 1.shell中變數的...

Python小括號 中括號 大括號和尖括號的含義

在使用python做專案的過程中發現這種語言使用了很多種型別的括號來表達資料型別,常見的有四種,分別是 小括號 中括號 和大括號,也叫做花括號,還有尖括號 其作用也各不相同,分別用來代表不同的python基本內建資料型別。1 python中的小括號 代表tuple元組資料型別,元組是一種不可變序列。...

C 11 大括號和小括號的使用

c 11之前主要有以下幾種初始化方式 小括號初始化 string str hello 等號初始化 string str hello pod物件與pod陣列列表初始化 struct studnet studnet s 純資料 plain of data,pod 型別物件 studnet sarr po...