Linux
當我知道文件的格式時從文件中提取文本
我正在執行一個腳本,它將輸出一個名為 scServer.scs 的文件,它看起來像這樣:
49138@bber0501u29b.bb2.cluster
2
解決方案 1
流體流動(流利)
解決方案
瞬態結構
7443_bber0501u29b.bb2.cluster
稍後在腳本中我需要引用“49138”和“bber0501u29b.bb2.cluster”,但每次執行腳本時它們都會有所不同。所以在我的腳本生成 scServer.scs 之後,我需要提取這些文本並將它們寫為變數?
如果您的數據始終位於第一行且格式為 user@domain,您可以執行以下操作:
提取第一行並使用shell 參數擴展:
firstline=$(head -n1 file) user=${firstline%@*} domain=${firstline##*@}
使用讀取和 awk:
read -r user domain < <(awk -F\@ 'NR==1{print $1,$2}' scServer.scs)
將提取第一行
scServer.scs
並將兩個欄位@
用作欄位分隔符,將第一個欄位分配給user
變數,將第二個欄位分配給domain
變數