l 線包裝

使用 l 命令時換行的長度是實現定義的。

從標準:

長線應摺疊,摺疊點用 a 後寫 a 表示; 摺疊發生的長度未指定,但應適合輸出裝置。

GNU sed 提供了 -l 選項,用於指定使用 l 命令列印時分割長行的長度,預設為 70 個字元。

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      71
$ yes | head -c100 | tr '\n' ' ' | sed -nl50 l | head -n1 | wc -c
      51

BSD sed 按環境變數 COLUMNS 提供的數字分割長行,如果未提供 COLUMNS,則它在終端寬度處分割,如果未提供 COULMNS 且輸出不是終端,則預設為 60 個字元。

$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1 | wc -c
      61
$ yes | head -c100 | tr '\n' ' ' | COLUMNS=50 sed -n l | head -n1 | wc -c
      51
$ yes | head -c100 | tr '\n' ' ' | sed -n l | head -n1
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y\
 y y y y y y y y y y $