Shell應用:批量導入SQL文件,你還在複製粘貼文件名?

2020-11-05 畢小寶

背景

從一個資料庫中導出了 N 個表的 SQL 語句,匯總到一個文件夾下。然後,再導入到目標資料庫中。這個過程中,如果逐個敲 source 命令太繁瑣了,不如寫個腳本來搞定、順便練練手。

本文將介紹一個遍歷文件夾下文件的 Shell 應用。

腳本編寫

批量導入目標文件夾下的 SQL 文件,核心是,得到目錄下所有 SQL 文件的名稱,循環執行導入語句。

所以,一個 ls 命令就搞定了。

curDir=$1cd $curDirecho 'Start import .sql file in directory '$curDirfileTmp=`ls`fileNames=($(echo $fileTmp))for fileName in ${fileNames[@]} do echo 'current file '$fileName mysql -h localhost -uroot -p123456 < ./$fileName echo ''doneecho 'Finished import .sql file.'

腳本分析

  1. ls 命令輸入所有的文件名稱;
  2. $ 命令按空格拆分,將 ls 的輸出值拆分成數組;
  3. ${數組名[@]} 將數組擴展成列表,用 for in 遍歷。

命令分解輸出示例:

啟示錄

值得注意的是,SQL 語句如果是插入操作,必須使用 use database; 指定目標資料庫。

其實也就選擇地導出了 8 張表的 SQL 語句,逐個敲文件名也不是個事兒,這也是最簡單的處理方法,但是這不符合好開發解決問題的風格啊,就是一個遍歷文件名的命令,網上沒找到現成的腳本,就自己寫一個!

寫腳本也花了十分鐘,但好歹比複製粘貼文件名有技術含量得多,順便也練習了一下 Shell 數組的語法。再說了,腳本到了運維同事手裡,說不定會暗自誇這腳本的作者貼心呢!

相關焦點

  • Shell應用:批量導入SQL文件,你還在複製粘貼文件名?
    Shell應用:批量導入SQL文件,你還在複製粘貼文件名? 從一個資料庫中導出了 N 個表的 SQL 語句,匯總到一個文件夾下。然後,再導入到目標資料庫中。這個過程中,如果逐個敲 source 命令太繁瑣了,不如寫個腳本來搞定、順便練練手。本文將介紹一個遍歷文件夾下文件的 Shell 應用。
  • 批量導入工作表到同一個文件
    今日的內容是「VBA之EXCEL應用」的第三章「工作簿(Workbook)和工作表(Worksheet)對象(Object)」中第六節「批量導入工作表到同一個文件」。「VBA之EXCEL應用」這套教程從簡單的錄製宏的講解,一直到窗體的搭建,內容豐富,案例眾多。
  • 電腦怎麼批量修改文件名
    電腦怎麼批量修改文件名呢?很多小夥伴喜歡手機自拍,然後把自拍照片存儲到電腦裡,需要給照片修改名稱,方法很簡單,但是如果照片有上百張甚至上千張如何批量修改呢?下面小白系統帶你看下具體的操作方法。方法一:電腦自帶批處理1、首先打開需要批量更改名稱的文件,按鍵盤Ctrl+A全選所有文件2、然後按F2鍵重命名,我們這組照片是命名為動漫,然後確定就全部按照順序批量命名了。
  • 只要5秒,批量提取文件名,快速建立EXCEL工作檯文件路徑 - 點墨樓
    上回書說到,如何用EXCEL建立自己的工作檯(導航與日誌),有朋友說,自己的文件太多了,做起導航很費勁。別急,其實我們可以快速提取文件名,以便於我們批量建立超連結。*/b>文件清單.txt dir為列表命令,/b為只保留文件名和擴展名參數,>為將命令結果導入到指定文件內將文本文檔的文件類型改為bat,即將「提取文件名.txt」更改為「提取文件名.bat」。如果你的電腦沒有顯示文件擴展名,另存為.bat文件即可。
  • 用EXCEL批量更改文件名,一個命令就能完成
    工作任務:學籍庫裡需要更新和完善學生信息,其中有一項工作就是要導入以身份證號為文件名的學生照片,而目前各個班級提交的學生照片是以學生姓名命名的。如何將學生姓名批量轉換成身份證號碼呢?解決方案:用EXCEL協助文件名處理,用DOS批處理執行程序完成具體操作如下:1、批量導出「學生姓名」文件名到EXCEL表中。
  • Bash技巧:介紹一個批量複製文件到指定目錄的Shell腳本
    本篇文章介紹一個可以批量複製文件到指定目錄的 shell 腳本。假設這個 shell 腳本的名稱為 cpfiles.sh。在實際開發工作中,可能需要按照目錄結構來保存一些改動後的文件,以作備份。這些目錄結構可能包含多個子目錄、或者需要複製多個文件。如果直接複製外面的目錄,會包含沒有發生改動的文件。
  • 學個技巧,搞定批量修改文件名
    前兩日,有小夥伴群裡問如何批量重命名文件,也就是修改文件名我看了一下,我的文章列表,關於批量操作的很多!還真!沒!有!重!命!名!的!批量獲取文件名傳統的方式又是VBA,又是瀏覽器法,亂七八糟,試試我這個,so easy最簡單的方式就是,文件夾中Ctrl+A,全選,按照Shift,右擊,複製為路逕到Excel中,直接粘貼(Ctrl+V)
  • 怎樣利用excel表格及CMD命令對文件進行批量重命名
    cmd控制臺然後進入到需要批量重命名的文件夾下,將文件所在路徑C:\Users\(使用者電腦名) \Desktop\txt複製下來,這裡我的使用者電腦名為扶貧站,你的你進入cmd控制臺就可以看到了。複製路徑切換到cmd控制臺,在控制臺中輸入cd C:\Users\(使用者電腦名)\Desktop\txt,這裡輸入cd後,可以右鍵進行粘貼,按下鍵盤上Enter鍵,這樣就切換到需要批量重命名的文件路徑下。
  • 天下武功,唯快不破——論如何快速導入文件名
    偶然看到一位同事為了把文件名全部提取到文檔裡,在一個一個的複製粘貼,我說不用那麼麻煩,隨後我教他用了一種方法,很快就提取出了所有文件名,快速地完成了領導交代給他的任務。今天小蝸就分享兩個方法給大家。方法一:「文件路徑複製法」(WIN 10系統可用)打開文件夾,全選中所需目標文件,點擊「主頁」裡的「複製路徑」。打開要導入的文檔,粘貼得到如圖所示。
  • excel圖文教程:批量提取若干文件夾中的文件名
    今天老菜鳥要給大家分享一個批量操作的神級技巧:批量提取文件名。簡單三步,就能提取出成百上千個文件名稱。學習更多技巧,請收藏部落窩教育excel圖文教程。今天要分享的這個技能,雖然和Excel有關係,但是又和Excel的關係不大,是一個批量操作的高能技巧!
  • 「經驗分享」不用工具教你如何批量提取文件名
    操作步驟:現在電腦上有很多文件,我們想要對其批量提取文件名稱1、首先我們找到文件所在地址,複製這個地址2、然後打開chrome瀏覽器,把我們剛剛複製的地址粘貼到地址欄,點擊回車後,所有文件的索引就顯示出來了3、然後對此頁面進行Ctrl+a的操作全選整個頁面,Ctrl+c進行複製4、然後打開一張excel表格,把剛剛複製的東西選擇性粘貼在表格中,把沒有用的信息刪除,文件後綴可以用Excel替換工具批量刪除,最後只留下文件的文件名。
  • 批量製作畢業證書,解放你複製粘貼的雙手!「經驗」
    批量製作畢業證書,解放你複製粘貼的雙手!【經驗】老師給我發來了一個問題:PPT能做郵件合併嗎?批量製作畢業證書,解放你複製粘貼的雙手!【經驗】然而,故事並沒有結束,深問了一下老師的核心需求,實際上是【批處理】。腦子裡核心過了一下批處理的幾個名詞:郵件合併、VBA、程序......
  • 把文件批量放入到指定文件夾,還在用滑鼠拖嗎?excelVBA快速搞定
    達到這個效果還有其他的辦法,但是我之所以用excelVBA是為了把文件名直接寫入到excel中,因為實際工作中,文件名稱比我這個例子要複雜得多,比如根據文件名中某個字符來確定這個文件是歸類到哪個文件夾,這時候excel的函數或其它功能就能快速搞定這個事情。代碼粘貼進去之後關閉VBA編輯界面。
  • 如何將CAD中的文字批量導入到Word中
    如何將AutoCAD中的文字批量導入到Word中進行編輯,將CAD中的文字或者圖形插入到word最簡單的方法是直接複製粘貼,但是複製粘貼到WORD後,是變成圖片的形式,不能對方字進行編輯。而有時候,我們將CAD中的文字導入word目的是要對文字進行編輯,並不僅僅是作為Word的配圖。那如何才能做到,將文字批量導入WORD後還能夠編輯呢?目前CAD的現有功能中,暫時還不能實現,但是CAD給我們提供了豐富的擴展功能,比如LiSP程序。現在我們要實現將CAD中的文字批量導入到Word中進行編輯,就得應用LiSP程序,並且分2步走。
  • 批量提取文件名稱,至少有兩種解決方法你馬上就能用
    在實際工作中,建立文件目錄或校對文件名等工作需要,要對指定文件夾中的文件名稱進行提取,再進行後續處理。在早期的分享文章中,我和大家分享了使用DOS命令提取文件名稱的方法,可以查看文章:《批量提取文件名,只要一個命令》,其實,提取文件名稱的方法遠不止這一種,今天我和大家再分享幾種更簡單的方法。
  • MyBatis全局配置文件
    ,在工作空間中直接複製,然後修改名稱;然後把裡邊該刪除的文件刪除(例如:.idea文件夾、刪掉.iml為結尾的文件等),然後在idea中import導入選擇create,然後一直點next就行。(複製完別忘了手動導入的jar包) 上圖情況就需要引入dtd
  • 利用批處理命令批量修改文件名
    在平時工作中,有時候會整理一些雜亂的文件名,讓文件的管理更加輕鬆了規範,下面我們通過利用批處理命令和EXCEL表格工具,實現文件名的批量的修改。1.在相應的文件目錄下,新建一個文本文件,並且打開輸入 dir *.* /b>rename.xls,其中*.
  • 如何在Linux終端中複製和粘貼文本、文件和文件夾
    複製和粘貼是計算機上最常用的操作之一。使用Ctrl+ C和Ctrl+ V鍵盤快捷鍵很容易做到,但是在Linux終端上卻不是那麼簡單。您有幾種選擇可以完成工作。這是在Linux終端中複製和粘貼文本,文件和目錄的方法。複製和粘貼文字如果您只想在終端中複製一段文本,您要做的就是用滑鼠突出顯示該文本,然後按Ctrl+ Shift+ C進行複製。
  • 如何把SQL Server的資料庫導為sql文件
    前言在學習資料庫這門課程的過程中,被資料庫的導入導出這個問題給困擾了很多次。在SQL Server軟體中導入導出資料庫的方法很多種,但是很多是比較複雜麻煩的,甚至報錯了從網上也不方便找到解決方法。這使三橋君平時寧願直接編譯代碼實現項目,也不願去折騰導入導出了。
  • Excel實用技巧分享:Excel與批處理命令相結合,批量修改文件名
    你是否有過這樣的困擾呢?在對文件進行日常操作時,經常會出現的一個操作就是重命名。在操作過程中如果是一個兩個也許我們還能接受,但如果文件改名是大批量的話,這就讓我們很頭疼的了。一個一個去改是不可能的,這樣做不僅費時費力還容易出錯。接下來我就給大家分享一個文件批量重命名的方法。