嗨'我試圖只保留逗號分隔字段的第一個和最後一個值在我的數據上。以下是我的輸入數據會是什麼樣子awk只保留逗號分隔的字段上的第一個和最後一個值
a 1 y 1,2,4,3,6,2,1
b 2 y 3,56,3,2,1
c 3 n 4,3,2,1,4
我只想繼續我的數據的第四coulmn第一和最後一個值,使我的數據是這樣的:
a 1 y 1,1
b 2 y 3,1
c 3 n 4,4
你能任何人都可以幫我如何做到這一點?謝謝
嗨'我試圖只保留逗號分隔字段的第一個和最後一個值在我的數據上。以下是我的輸入數據會是什麼樣子awk只保留逗號分隔的字段上的第一個和最後一個值
a 1 y 1,2,4,3,6,2,1
b 2 y 3,56,3,2,1
c 3 n 4,3,2,1,4
我只想繼續我的數據的第四coulmn第一和最後一個值,使我的數據是這樣的:
a 1 y 1,1
b 2 y 3,1
c 3 n 4,4
你能任何人都可以幫我如何做到這一點?謝謝
試試這個:
awk -F, -vOFS=, '{print $1,$NF}' input.txt
-F,
輸入分隔符-vOFS=,
輸出域$1
第一場$NF
最後一個字段嘗試此awk命令:
awk '{size = split($4,numbers,",")} {print $1" "$2" "$3" "numbers[1]","numbers[size]}'
此拆分第四字段到一個數組,節省尺寸size
,打印第一3個字段,則numbers
陣列的第一和最後一個元素。
如果您的其他字段可以包含逗號:
$ awk '{sub(/,.*,/,",",$NF)}1' file
a 1 y 1,1
b 2 y 3,1
c 3 n 4,4
如果不是:
$ awk '{sub(/,.*,/,",")}1' file
a 1 y 1,1
b 2 y 3,1
c 3 n 4,4
你問是在彼此非常微小變化的幾個問題。根據你收到的所有答案,你學到了什麼? –
我會說不多。下次發佈你已經嘗試過的。 – Jotne