標題:
linux指令cut的問題
發問:畢業快樂英文
例一:123:gsfg:fgsg:sagaL:gdgas:20091234555:dd:eqgha:2009123566:dads:20091236以上如果要運用cut的指令要如何抓取以 ":" 為分割子元的每一行最後的時間也就是cut -d : -f ??-f 後面可以直接要求顯示最後一個欄位的方法嗎?如果沒有的話,還有其他指令可以作到嗎?例二:123:gsfg:fgsg L: saga:gdgas:20091234555 : dd L: eqgha:2009123566 L: dads:20091236想要與L:來作分隔依據,可是cut -d... 顯示更多 例一: 123:gsfg:fgsg:sagaL:gdgas:20091234 555:dd:eqgha:20091235 66:dads:20091236 以上如果要運用cut的指令要如何抓取以 ":" 為分割子元的每一行最後的時間 也就是cut -d : -f ?? -f 後面可以直接要求顯示最後一個欄位的方法嗎? 如果沒有的話,還有其他指令可以作到嗎? 例二: 123:gsfg:fgsg L: saga:gdgas:20091234 555 : dd L: eqgha:20091235 66 L: dads:20091236 想要與L:來作分隔依據,可是cut -d 只能指定字元而已 cut 還有其他功能可以以"L:"作為分割依據來顯示特定欄位的嗎?
最佳解答:
假設檔案名稱 為test.txt 內容您假設的內容 linux-wg5u:/tmp/lab # cat test.txt 123:gsfg:fgsg:sagaL:gdgas:20091234 555:dd:eqgha:20091235 66:dads:20091236 1. 利用反轉 rev 來 結合cut 是一種方式 linux-wg5u:/tmp/lab # rev test.txt | cut -d : -f 1 | rev 20091234 20091235 20091236 2. 利用 awk 來列出最後一行也是一種方式 linux-wg5u:/tmp/lab # awk -F: '{print $(NF)}&統一數位翻譯社#039; test.txt 20091234 20091235 20091236 ************************************************* 問題2 檔案內容想要以L: 來當分隔依據 man cut 指令您應該會看到 cut 的分隔字元只能用單一字元 檔案內容如下 linux-wg5u:/tmp/lab # cat test2.txt 123:gsfg:fgsg:saga L:gdgas:20091234 555:dd L:eqgha:20091235 66:dads L:20091236 用cut 來使用兩個字元來當分隔判斷依據應該是不行 所以採用 awk 來處理 linux-wg5u:/tmp/lab # awk -F 'L:' '{print $1}' test2.txt 123:gsfg:fgsg:saga 555:dd 66:dads 給您參考 ^^
其他解答:
英語新聞中文翻譯
4D962705AE823D35
留言列表