目前似乎找到原因了
我試著使用tr -d '\n'也沒用時
突然看到鳥哥的教學提到
tr也很常拿來移除^M這種windows的斷行資訊
因為我的A.txt是用windows的筆記本編輯的
然後直接丟進linux平台裡
所以我改成(教學上提到\r就是^M)
tr -d '\r',就有用了...
謝謝
********************************我是分隔星星*******************************
各位大大好
這問題 搞了小弟2天了 orz
假設我有個A.txt檔
檔案內容是
---
name: light
number: 123456789
address: 192.168.1.1
---
然後我有一隻程式名為WORK,是隻輸入number就會工作的程式
所以我開始寫一隻script
執行這隻script,這隻script會把A.txt的數字"123456789"挖出來存成變數
然後再執行叫起WORK把數字餵進去
了事
script的詳細寫法大概是這樣
---
getnumber='grep number: A.txt | cut d ':' f 2'
WORK getnumber
---
結果WORK告訴我,輸入的數字長度為10
這不合預期,讓我的WORK跑不順利
因為數字123456789,長度應該是9
我懷疑是cut值的時候,把檔案內的換行也存進變數getnumber了?
但我需要更多的測試才肯定他是否為換行(目前手上沒任何環境 囧)
(因為我有初步在"number: 123456789"的後面再補一個":",變"number: 123456789:"
就正常了,所以猜測是cut時以":"為分段,而最後補一個":",就正確切斷了)
如果真的是換行問題
在不改動A.txt與WORK的前題下(只可以改scropt)
我有辦法可以解決這個問題嗎?
還是可能是其他原因所導致的?
我初步的想法是
1.找到其他shell工具,可以更精準的把12345789給撈出來,不知大大們有無更好的建議
2.對getnumber做二度處理,例如再次以換行的基準,去把前面的數字切出來 囧
真的非常謝謝各位大大的分享
--
有種熟悉總在你心裡深處、眼光餘角出現
越是追求越是千里尋不著
日覆一日,漸漸的也就淡忘
實際卻如影隨行、無聲無息的埋藏在潛意識裡‧‧‧
也許夜深人靜時又會不經意的輕敲你心房
--
All Comments