[問題] 在bash裡面呼叫外部程式(已解:回饋script)
=======問題已解 回饋code給大家以後用=========
感謝各位大大細心的分享跟教導,這隻小script分享給
之後跟我一樣有大量xlsx轉csv的人,使用方法只要
sh script.sh "存取資料夾"
便會把你該資料夾所有xlsx轉成csv檔
但記得要裝 python的xlsx2csv
參考: sudo pip install xlsx2csv
========ˇscript============
#!/bin/bash
# this script have dependence package of Python "xlsx2csv"
sudo PATH =
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/bin
sudo export PATH
sudo echo "Start translate !"
mkdir $1
for f in `ls -1 *.xlsx`
do
xlsx2csv $f $1/${f%.*}.csv;
echo ${f%.*}
done
echo "Translation done"
~
==============================================
由於對linux 的bash一些比較特殊的寫法還不是那麼熟練
想跟各位linux先進請教一個寫bash時的問題
想做的事情是:
用bash的方式進行xlsx轉檔,這裡我呼叫了一個python
工具 xlsx2csv , 這個用法在 terminal時已經確定可以
使用 , 而且轉換效果很好
遇到的問題:
1. 一直出現中文檔名亂碼問題 , 原始檔案是big5沒錯
2. 不確定這麼寫能不能像teminal一樣直接叫到python
的xlsx2csv
錯誤範例:
========================================================================
#!/bin/bash
PATH = /bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
sudo echo "Start translate !"
sudo xlsx2csv 2011某中文檔名.xlsx Test_covert/2011某中文檔名.csv
echo "Translation done"
=======================================================================
這只是我在做初步測試用bash 仿製我在terminal做的行為,且在terminal已經確定
會有我要的結果 , 但bash上面我一直沒有確切的方向,查也都只查到bash的一般語法
會需要這麼做主要是會批量轉檔的需求,所以後續還要串loop還有讓檔名重新產生
用過一般的批量轉檔程式但出來的結果是資料 "看起來" 沒有任何問題,但一旦經過
任何程式呼叫後 , 會有大量的資料在呼叫過程中無故遺失,而用command line呼叫手轉
的資料則沒有這問題
雖然可以另外寫python code直接做這件事情,但目前我試過最快且最穩的是command line
這個方法,加上很想知道如果我在 bash 裡面要呼叫非一般shell的程式還有做字串重組
跟commnad重新產生 (有點像eval 但我還不確定bash叫什麼) , 對小弟來說算是一個有趣
的應用,想問各位先進是否有做過這件事情 ???
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.196.140
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1453887490.A.485.html
→
01/27 18:04, , 1F
01/27 18:04, 1F
→
01/27 18:05, , 2F
01/27 18:05, 2F
→
01/27 18:05, , 3F
01/27 18:05, 3F
→
01/27 18:05, , 4F
01/27 18:05, 4F
→
01/27 18:08, , 5F
01/27 18:08, 5F
→
01/27 18:18, , 6F
01/27 18:18, 6F
→
01/27 20:55, , 7F
01/27 20:55, 7F
→
01/27 20:56, , 8F
01/27 20:56, 8F
→
01/27 20:56, , 9F
01/27 20:56, 9F
→
01/27 21:13, , 10F
01/27 21:13, 10F
→
01/27 21:14, , 11F
01/27 21:14, 11F
→
01/27 21:18, , 12F
01/27 21:18, 12F
→
01/27 21:20, , 13F
01/27 21:20, 13F
→
01/27 21:21, , 14F
01/27 21:21, 14F
→
01/27 21:21, , 15F
01/27 21:21, 15F
→
01/27 21:22, , 16F
01/27 21:22, 16F
→
01/27 21:22, , 17F
01/27 21:22, 17F
→
01/27 21:26, , 18F
01/27 21:26, 18F
→
01/27 21:27, , 19F
01/27 21:27, 19F
→
01/27 21:27, , 20F
01/27 21:27, 20F
→
01/27 21:27, , 21F
01/27 21:27, 21F
→
01/27 21:28, , 22F
01/27 21:28, 22F
→
01/27 21:29, , 23F
01/27 21:29, 23F
→
01/27 21:33, , 24F
01/27 21:33, 24F
→
01/27 21:34, , 25F
01/27 21:34, 25F
→
01/27 21:35, , 26F
01/27 21:35, 26F
→
01/27 21:36, , 27F
01/27 21:36, 27F
→
01/27 21:38, , 28F
01/27 21:38, 28F
→
01/27 21:38, , 29F
01/27 21:38, 29F
→
01/27 21:46, , 30F
01/27 21:46, 30F
→
01/27 21:47, , 31F
01/27 21:47, 31F
→
01/28 00:03, , 32F
01/28 00:03, 32F
→
01/28 00:04, , 33F
01/28 00:04, 33F
→
01/28 00:04, , 34F
01/28 00:04, 34F
噓
01/28 00:11, , 35F
01/28 00:11, 35F
→
01/28 00:12, , 36F
01/28 00:12, 36F
→
01/28 00:12, , 37F
01/28 00:12, 37F
→
01/28 00:13, , 38F
01/28 00:13, 38F
→
01/28 00:13, , 39F
01/28 00:13, 39F
推
01/28 00:15, , 40F
01/28 00:15, 40F
→
01/28 00:15, , 41F
01/28 00:15, 41F
→
01/28 00:16, , 42F
01/28 00:16, 42F
→
01/28 00:17, , 43F
01/28 00:17, 43F
→
01/28 00:17, , 44F
01/28 00:17, 44F
→
01/28 00:18, , 45F
01/28 00:18, 45F
→
01/28 00:18, , 46F
01/28 00:18, 46F
→
01/28 00:18, , 47F
01/28 00:18, 47F
→
01/28 00:19, , 48F
01/28 00:19, 48F
→
01/28 00:29, , 49F
01/28 00:29, 49F
→
01/28 00:29, , 50F
01/28 00:29, 50F
→
01/28 00:31, , 51F
01/28 00:31, 51F
→
01/28 00:31, , 52F
01/28 00:31, 52F
→
01/28 00:32, , 53F
01/28 00:32, 53F
→
01/28 00:33, , 54F
01/28 00:33, 54F
→
01/28 00:33, , 55F
01/28 00:33, 55F
→
01/28 00:35, , 56F
01/28 00:35, 56F
→
01/28 00:35, , 57F
01/28 00:35, 57F
→
01/28 00:36, , 58F
01/28 00:36, 58F
→
01/28 00:43, , 59F
01/28 00:43, 59F
→
01/28 00:44, , 60F
01/28 00:44, 60F
→
01/28 00:44, , 61F
01/28 00:44, 61F
→
01/28 00:45, , 62F
01/28 00:45, 62F
→
01/28 00:46, , 63F
01/28 00:46, 63F
→
01/28 00:47, , 64F
01/28 00:47, 64F
→
01/28 00:48, , 65F
01/28 00:48, 65F
→
01/28 00:48, , 66F
01/28 00:48, 66F
→
01/28 00:55, , 67F
01/28 00:55, 67F
→
01/28 01:35, , 68F
01/28 01:35, 68F
→
01/28 01:36, , 69F
01/28 01:36, 69F
→
01/28 01:36, , 70F
01/28 01:36, 70F
→
01/28 01:37, , 71F
01/28 01:37, 71F
→
01/28 01:38, , 72F
01/28 01:38, 72F
推
01/28 07:30, , 73F
01/28 07:30, 73F
→
01/28 07:31, , 74F
01/28 07:31, 74F
→
01/28 07:31, , 75F
01/28 07:31, 75F
→
01/28 07:32, , 76F
01/28 07:32, 76F
→
01/28 07:32, , 77F
01/28 07:32, 77F
→
01/28 08:13, , 78F
01/28 08:13, 78F
※ 編輯: JackBaska (140.109.196.140), 02/01/2016 17:21:18
→
02/02 00:32, , 79F
02/02 00:32, 79F
→
02/02 00:32, , 80F
02/02 00:32, 80F
→
02/02 00:32, , 81F
02/02 00:32, 81F
→
02/02 00:43, , 82F
02/02 00:43, 82F
→
02/02 00:44, , 83F
02/02 00:44, 83F
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章