Linux
使行到列 n 在最後一行中插入換行符
我有file.txt
john, 5901, open lina, 2401, open jody, 5401, open
我想每最後一行插入一個新行,結果應該是:
john,5901,open lina,2401,open jody,5401,open
我嘗試什麼
cat file.txt | tr -d '\n'
但是這樣的結果
john,5901,openlina,2401,openjody,5401,open
在段落模式下使用 awk :
$ awk -vRS= -vOFS= '{$1=$1} 1' file.txt john,5901,open lina,2401,open jody,5401,open
取消設置記錄分隔符
RS=
會導致 awk 將空行之間的所有內容視為一條記錄,並將換行符添加到空白輸入欄位分隔符的預設列表中。因為您的輸入不包含其他空格,這意味著塊的每一行都成為一個欄位。然後,我們通過將欄位值重新分配給自身來強制重新評估$1=$1
記錄,最後用空的輸出欄位分隔符OFS=
代替預設的單個空格列印記錄。