婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 處理Shell腳本中帶有空格的變量(bash腳本)

處理Shell腳本中帶有空格的變量(bash腳本)

熱門標簽:輝縣市地圖標注 外呼系統的合法性 房產證地圖標注的兩個面積 北京電銷機器人對市場的影響 湖北孝感如何辦理 同花順電話機器人微信 地圖標注x是啥意思 威海電銷外呼系統好用嗎 武漢語音電銷機器人加盟

本篇主要介紹bash腳本中對于含空格文件處理方式。

在批量處理音頻文件時候使用下面的腳本發現含有空格的文件名并不能被處理;

#$1: 遍歷的文件夾
rootDir=$1
cd $rootDir
allAudioFile=$(find $1 -name "*\.mp3")
for oneAudioFile in $allAudioFile
do
  mv -f $oneAudioFile  $rootDir
done

通過set -x將執行信息打印出來,發現可以執行到,但是執行過程提示找不到對應的文件名,mv對應的source文件并不是原本的文件名,通過對比發現原來是文件名中含有空格,導致在for循環的過程中并沒有將完整的文件名取出來;

例如有文件a b.mp3這時候在for循環的時候會有下面的打印:

mv: cannot stat “./a” : No such file or directory

從上面的錯誤信息可以發現原本的文件名由于空格被打斷了,因此需要在for循環處理的過程中識別到文件名是含有空格的,從而對文件名中的空格不做處理;

bash使用IFS變量進行分割,所以需要修改IFS的分隔方式進而重新隔離,即需要將"\n"換行處理作為處理方式:

IFS=$(echo -en “\n\b”)
IFS=$(echo -en “\n\r”)

上面的兩種方式均可(使用Ubuntu16.04),其它也可以,只需要在處理的時候將"\n"作為其中一個標識即可,因為使用find命令或者其他命令會將結果以行的形式存放到變量中;

#$1: 遍歷的文件夾
rootDir=$1
cd $rootDir
allAudioFile=$(find $1 -name "*\.mp3")
IFS_BACKUP=$IFS
IFS=$(echo -en "\n\b")
#IFS=$(echo -en "\n\r")
for oneAudioFile in $allAudioFile
do
  mv -f "$oneAudioFile"  $rootDir
done
IFS=$IFS_BACKUP

至此,bash腳本中對于含空格文件處理方式介紹完畢,當然要記得將原本的IFS內容保存下來,腳本跑完了將原本的內容放回去。

總結

以上所述是小編給大家介紹的處理Shell腳本中帶有空格的變量(bash腳本),希望對大家有所幫助!

您可能感興趣的文章:
  • 使用批處理腳本在特定目錄中啟動Git-Bash窗口
  • 詳解bash中的腳本調試機制
  • Bash 腳本實現每次登錄到 Shell 時可以查看 Linux 系統信息
  • 如何利用Bash腳本監控Linux的內存使用情況
  • bash腳本中將密碼傳遞給ssh/scp命令方法詳解
  • linux Bash腳本判別使用者的身份方法示例
  • 詳解shell中source、sh、bash、./執行腳本的區別
  • linux bash腳本監控啟動停止weblogic服務的腳本寫法
  • 如何寫出安全的、基本功能完善的Bash腳本

標簽:迪慶 安康 麗江 武威 紹興 西寧 日喀則 蚌埠

巨人網絡通訊聲明:本文標題《處理Shell腳本中帶有空格的變量(bash腳本)》,本文關鍵詞  處理,Shell,腳本,中,帶有,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《處理Shell腳本中帶有空格的變量(bash腳本)》相關的同類信息!
  • 本頁收集關于處理Shell腳本中帶有空格的變量(bash腳本)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 金阳县| 礼泉县| 安溪县| 武冈市| 酒泉市| 兴安县| 麻阳| 孝感市| 上饶县| 瑞昌市| 游戏| 泽库县| 全椒县| 哈密市| 哈尔滨市| 大化| 盘锦市| 平凉市| 柳江县| 水城县| 新蔡县| 云安县| 莆田市| 清苑县| 突泉县| 图片| 寻乌县| 清水河县| 蓝田县| 永济市| 南溪县| 彰化市| 武宁县| 佛坪县| 漾濞| 淳化县| 裕民县| 宁强县| 和田县| 团风县| 通海县|