[英]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.