2019年11月6日 星期三

Cloud Text-to-Speech 參數調整

https://cloud.google.com/text-to-speech/?hl=zh-tw
Cloud Text-to-Speech 參數調整
Speed:0.70     Pitch:2.40
Interactive Voice Response (IVR) system


2019年11月5日 星期二

ip=(172.3.5.253 172.2.3.218); i=0; sshpass -p 'xxxxx' ssh script@${ip[i]} "df"




~$ ip=(172.3.5.253 172.2.3.218)
~$ i=0
~$ sshpass -p 'xxxxx' ssh script@${ip[i]} "df" 

Filesystem                                      1K-blocks             Used Available               Use% Mounted on
/dev/sda5                                           28383388        27058616                  0       100%    /
tmpfs                                                    8179912                     0      8179912           0%    /dev/shm
/dev/sda1                                               495844             37701         432543           9%    /boot
/dev/sda2                                         196103540           191800   185950268          1%     /check1
/dev/sda6                                         309633052       79641308   214263308         28%    /fs
/dev/mapper/pccp1                        1691041148      13152724 1591988472            1%    /pcc
/dev/mapper/cs_pccp1                     206428012          354900   195587088           1%     /cs_pcc
/dev/mapper/v3calllogp1                 206428012          191760   195750228            1%    /v3_pcc
/dev/mapper/bscbkupp1                  774090456    223767640    511001324          31%    /bsc
/dev/mapper/checkp1                      516068876    417485652      72368360          86%    /check
/dev/mapper/fsp1                            309633052      79641308    214263308          28%    /fs
/dev/mapper/publicnewp1               206428012    157188692     38753296          81%     /public
/dev/mapper/sharenewp1                516068876    182631524    307222488          38%    /share
~$

--------------------------------------------------------------------------------------------------------------------
~$ SAESideIP=(172.2.3.219 172.2.3.218)
~$ i=0
~$ sshpass -p 'xxxxx' ssh script@${SAESideIP[i]} "df"

Filesystem           1K-blocks            Used Available                        Use% Mounted on
/dev/sda5             28383388         15725768   11215828                         59% /


eval用法 eval SAENameAx=\${SAENameA$(($i+1))[j]}




  • eval:

  • 語法
    [test @test test]# eval variable
    例題:
    [test @test test]# days=365
    [test @test test]# year=days
    [test @test test]# echo \$$year
    $days  <==第一個 $ 被 \ 改變成為一般字元,而 \$ 後面接的 $year 就成為 days 啦!
    [test @test test]# eval echo \$$year
    365
    加上 eval 之後, \$$year 變成的 $days 的『變數內容』會顯現出來喔!
    這個指令也是頗有趣的!他主要是用來做為變數的『疊代』用的!以上面的例子來看,起先, \$$year 會變成為 $days ,而這個 $days 其實是一般字元喔!並不是變數!不過,加上了 eval 之後,這個字串就會被變成變數內容咯!所以說, eval 是用來做為『二次疊代』的功能的!
           上述資料來自 http://linux.vbird.org/linux_basic/0320bash/0320bash.php



1. ~$ name=yawu
    ~$ echo $name
    ~$ yawu

2. ~$ yawu=vmd
    ~$ echo $name
    ~$ yawu

    ~$ eval echo \$$name
    ~$ vmd

3. ~$ eval echo "$""$name"
    ~$ vmd
 
or

    ~$ eval echo '${'"$name"'}'
    ~$ vmd


链接:https://www.jianshu.com/p/284ae3a0244e



-------------------------------------------------------------------------------------------------------------------------

for ((i=0; i < 2; i++)); do
for ((j=0; j < 3; j++)); do
# ii=$(($i+1))
                # eval SAENameAx=\${SAENameA${ii}[j]}
eval SAENameAx=\${SAENameA$(($i+1))[j]}
                echo "SAENameAx="$SAENameAx
PathFileName=$(echo $Path/${SAESide[i]}/${SAEDir[j]}/${SAENameAx}"-"$SearchDATE"-task.txt")
                echo "PathFileName= "$PathFileName
The_number_of_lines_in_a_file=$(cat $PathFileName |grep -n 'HKT 2019'| wc -l)
echo "The number of lines in a file="$The_number_of_lines_in_a_file
cat ${PathFileName} |grep -n 'HKT 2019' > $Path/tempA_${i}_${j}.txt
for ((k=1; k < $The_number_of_lines_in_a_file; k++)); do
    Paragraph_begin=$(cat $Path/tempA_${i}_${j}.txt | sed -n "${k}p" | awk 'BEGIN {FS=":"}; END{print $1}')
Paragraph_begin=$(($Paragraph_begin+5))

k=$(($k+1))
Paragraph_end=$(cat $Path/tempA_${i}_${j}.txt | sed -n "${k}p" | awk 'BEGIN {FS=":"}; END{print $1}')
Paragraph_end=$(($Paragraph_end-2))

cat ${PathFileName} |sed -n "${Paragraph_begin},${Paragraph_end}p" > $Path/tempB_${i}_${j}.txt
done
done

done

2019年11月1日 星期五

Linux 的 scp 指令用法教學與範例:遠端加密複製檔案與目錄


Linux 的 scp 指令用法教學與範例:遠端加密複製檔案與目錄

這裡介紹如何在 Linux 系統上以 scp 指令複製檔案與目錄,並提供一些參考範例。
若要在不同的 Linux 主機之間複製檔案,最常用的方法就是使用 scp 指令,它可以透過 SSH 安全加密傳輸的方式,將本地端的檔案或目錄複製到遠端,或是將遠端的資料複製到本地端,而這個指令在 Mac OS X 中也同樣可以使用。
在不同 Linux 主機之間使用 scp 指令複製檔案時,遠端的 Linux 主機必須要開啟 SSH 遠端登入服務,否則無法使用 scp 指令複製檔案。

複製檔案與目錄

scp 指令的語法跟一般的 cp 類似,只不過 scp 可以在不同的 Linux 主機之間複製檔案,其語法為:
scp [帳號@來源主機]:來源檔案 [帳號@目的主機]:目的檔案
這裡的帳號就是登入主機上的帳號(類似 ssh 指令的用法),如果省略帳號與主機,只寫一般的檔案路徑的話,就是代表本機的檔案。
例如將本地端的 /path/file1 複製到 192.168.0.1 這台主機上的 /path/file2,而登入 192.168.0.1 這台主機時,是以 myuser 這個帳號登入:
# 從本地端複製到遠端
scp /path/file1 myuser@192.168.0.1:/path/file2
也可以把遠端的檔案複製到本地端:
# 從遠端複製到本地端
scp myuser@192.168.0.1:/path/file2 /path/file1
這樣就會用 myuser 這個帳號登入 192.168.0.1,將遠端主機上的 /path/file2 複製到 /path/file1
如果本地端的使用者帳號名稱剛好跟遠端的使用者帳號一樣,也可以將使用者帳號省略,例如:
# 從本地端複製到遠端
scp /path/file1 192.168.0.1:/path/file2
反過來也是類似:
# 從遠端複製到本地端
scp 192.168.0.1:/path/file2 /path/file1

複製目錄

若要複製整個目錄以及其下的所有檔案,則加上 -r 參數:
# 複製目錄
scp -r /path/folder1 myuser@192.168.0.1:/path/folder2

保留檔案時間與權限

若要讓檔案在複製之後,還可保留原本的修改時間、存取時間與權限,可以加上 -p 參數:
# 保留檔案時間與權限
scp -p /path/file1 myuser@192.168.0.1:/path/file2

資料壓縮

若要將資料壓縮之後再傳送,減少網路頻寬的使用量,可以加上 -C 參數:
# 資料壓縮
scp -C /path/file1 myuser@192.168.0.1:/path/file2

限制傳輸速度

若要限制網路的使用頻寬,可以用 -l 指定可用的網路頻寬上限值(單位為 Kbit/s):
# 限制傳輸速度為 400 Kbit/s
scp -l 400 /path/file1 myuser@192.168.0.1:/path/file2
這樣就會限制 scp 只能使用 400 Kbit/s,也就是 400 / 8 = 50 KB/s。

自訂連接埠

一般 SSH 伺服器的連接埠號為 22,如果遇到使用非標準埠號的伺服器,可以用 -P 來指定埠號。若遠端的 SSH 伺服器使用 2222 這個連接埠,我們就可以這樣複製檔案:
# 使用 2222 連接埠
scp -P 2222 /path/file1 myuser@192.168.0.1:/path/file2

IPv4 與 IPv6

-4 與 -6 兩個參數分別可以讓 scp 使用 IPv4 與 IPv6 來傳輸資料:
# 使用 IPv4
scp -4 /path/file1 myuser@192.168.0.1:/path/file2

# 使用 IPv6
scp -6 /path/file1 myuser@192.168.0.1:/path/file2