如何格式化 jot 指令的輸出

如何格式化 jot 指令的輸出

我有一個非常簡單的命令jot -r 4 0 255,它基本上輸出 4 個 0 到 255 範圍內的隨機數。

> jot -r 4 0 255
66
14
244
155

如何將輸出格式化為如下所示:66.14.244.155

答案1

使用句點字元作為命令結果之間的分隔符號字串jot。打開終端機並輸入:

jot -s "." 4 0 255

從結果來看man jot

-s細繩
        列印由字串分隔的資料。通常,換行符號分隔資料。

在其他一些情況下,空格字元可以成為很好的分隔符字串。

答案2

我製作了一個測試文件,t包含類似的輸出

$ cat t
66
14
244
155

有很多不同的方法可以重新格式化輸出,可以從任何命令透過管道傳輸,或者cat像下面的範例一樣:

  • read像這樣使用 bash

    $ cat t | while read i; do echo -n "$i."; done; echo
    66.14.244.155.
    

    讀取每個條目並使用尾隨點和無換行符號回顯(在末尾添加普通回顯以獲得尾隨換行符)。

  • tr將每個換行符號翻譯成一個點,同樣帶有尾隨點且沒有換行符

    $ cat t | tr '\n' '.'
    66.14.244.155.
    
  • 相同但很短awk

    $ cat t | tr '\n' '.' | awk 'ORS="."'
    66.14.244.155.
    
  • tr再次(或awk),但將尾隨點修復為換行符

    $ cat t | tr '\n' '.' | sed 's/.$/\n/'
    66.14.244.155
    
  • 所有sed這一切顯然更快且更簡單沒有尾隨點和換行符

    $ cat t | sed -e ':a; N; $!ba; s/\n/./g'
    66.14.244.155
    
  • paste可以使用它的s串列和d分隔符號選項,沒有尾隨點和換行符

    $ cat t | paste -sd "." -
    66.14.244.155
    

來源

相關內容