簡體   English   中英

如何使用bash腳本從字符串中刪除初始和最終數字

[英]How to remove initial and final digits from strings using bash scripting

bash腳本的新手如此如果我有一個列表通常是文本文件,每個文件都針對一個國家/地區,例如帶有前導ZIP和結束郵政信箱的USA.txt客戶端地址(數字被屏蔽以保護隱私):

38495newyork940
454354irvine40404
2333wathington4440
32333california002929
23234dallas4th93303 

我想運行USA.txt作為bash腳本的參數,該腳本將刪除每行的前導和最終數字。 請注意,某些城市或州可能在名稱中包含數字,因此我希望保留它們。

我嘗試對sed命令運行它,但我無法結合最終結果我只是用以下命令刪除前導或最終數字:

對於前導數字:

sed -r 's/^[0-9]+(.*[^0-9].*)$/\1/g'

和結束數字:

sed "s/\([^0-9]\)[0-9]*\s*$/\1/"

我需要輸出像:

newyork
irvine
wathington
california
dallas4th

謝謝

您可以根據需要為sed盡可能多的命令:

$ sed 's/^[0-9]*//; s/[0-9]*$//' USA.txt 
newyork
irvine
wathington
california
dallas4th

或者你可以在一個命令中完成所有操作:

$ sed 's/^[0-9]*\(.*[^0-9]\)[0-9]*$/\1/' USA.txt 
newyork
irvine
wathington
california
dallas4th

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM