2017-06-06 59 views
0

因爲我有一個文件test.txt與內容:顯示在linux以表格格式的文件的內容(xargs的)

1\1 
2 
3 
4 
5\3 
6 
7 
8\66 
9 
10 
11 
12 
13 
14 

我想打印該文件中具有7列像下面表格格式:

1\1 || 2 || 3 || 4 || 5\3 || 6 || 7 
8\66 || 9 || 10 || 11 || 12 || 13 || 14 

我曾嘗試以下cmd在Linux上:

xargs -L 4 < test.txt | awk '$1=$1' OFS=' || ' 

但是在運行這個CMD '\' 符號從輸出中獲取刪除。它是這樣來的 11 || 2 || 3 || 4 || 53 || 6 || 7 866 || 9 || 10 || 11 || 12 || 13 || 14

我不想被刪除\符號。請提供您的寶貴意見。

+0

你原來的命令,我添加了一個選項'-d'到xargs的,'xargs的-L 7 -d '\ n'

+0

哦,是的,它的工作原理,非常感謝@ K.Juce –

回答

0

Perl來救援:

perl -pe 'chomp, $_ .= " || " if $. % 7' 

-p讀取由線輸入線。

chomp刪除最後的換行符。

$_ .= ...追加給定的字符串。

兩個咬食和追加只發生如果$.,當前輸入的行號,是不是由7整除,即模運算符%用於表達不返回0。