你好,新年快樂。我有一個問題;我在 unix 中有一個名為 shipIMO.txt 的檔案,其中包含船舶的 imo 代碼,例如:
IMO84855
IMO58484
如何使用 bash 腳本僅將數字作為輸出?我接近了嗎?
echo "shipsIMO.txt"|tr -cd [:digit:]>single.txt
uj5u.com熱心網友回復:
我怎樣才能只有數字作為輸出
在這種情況下,你非常接近。echo "shipsIMO.txt"不會列印檔案的內容。它會從字面上列印shipsIMO.txt。要列印檔案的內容,請使用cat:
cat shipsIMO.txt | tr -cd '[:digit:]' > single.txt
或沒有cat,tr直接從檔案中讀取:
tr -cd '[:digit:]' < shipsIMO.txt > single.txt
以上兩個版本都將single.txt使用內容創建(沒有空格或換行符):
8485584855
如果你想 ...
# keep whitespaces (including newlines) and digits:
tr -cd '[:space:][:digit:]' < shipsIMO.txt > single.txt
# keep only newlines and digits:
tr -cd '\n[:digit:]' < shipsIMO.txt > single.txt
兩者都會產生single.txt以下內容:
84855
84855
uj5u.com熱心網友回復:
您可以使用 輕松完成此操作sed,洗掉所有非數字字符:
sed -e 's/[^0-9]//g' shipsIMO.txt
uj5u.com熱心網友回復:
您可以嘗試使用 sed 洗掉所有IMO字串,它將使用空格和換行符:
sed 's/IMO//g' shipsIMO.txt > single.txt
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/407428.html
標籤:
上一篇:如何創建僅包含檔案的tar檔案
