我想將只有一列的文件轉換爲不同列的文件。 在這個初始文件中,我有4個變量。每個變量寫10行,我想有10行的4列。將變量寫入不同的列?
圖形:
我有什麼:
1
1
2
2
3
3
4
4
我想什麼有:
1 2 3 4
1 2 3 4
我想將只有一列的文件轉換爲不同列的文件。 在這個初始文件中,我有4個變量。每個變量寫10行,我想有10行的4列。將變量寫入不同的列?
圖形:
我有什麼:
1
1
2
2
3
3
4
4
我想什麼有:
1 2 3 4
1 2 3 4
如果將變量的行保存到各自的文件中,您可以使用paste
。
$ # generating example files:
$ seq 1 10 > file1
$ seq 11 20 > file2
$ seq 21 30 > file3
$ seq 31 40 > file4
$ # showing contents of the files:
$ cat file{1..4}
1 # first file
2
3
4
5
6
7
8
9
10
11 # second file
12
13
14
15
16
17
18
19
20
21 # third file
22
23
24
25
26
27
28
29
30
31 # fourth file
32
33
34
35
36
37
38
39
40
$ paste file{1..4}
1 11 21 31
2 12 22 32
3 13 23 33
4 14 24 34
5 15 25 35
6 16 26 36
7 17 27 37
8 18 28 38
9 19 29 39
10 20 30 40
非常感謝!它的工作非常好! – bernatpi
那是什麼,我想出了:
#!/bin/bash
rows=$(wc -l $1 | cut -d " " -f 1)
elements=$(uniq $1 | wc -l)
list=$(sort -u $1)
i=0
while [ $i -lt $(($rows/$elements)) ]
do
echo $list
((i++))
done
保存它到transpose.sh
(例如),使其可執行chmod +x transpose.sh
並將其稱爲./transpose.sh input.txt
我有4個變量($ var1,$ var2,$ var3和$ var4)。每個變量有10行。我的問題是,如果可以寫入列中的每個變量,獲得10行4列。謝謝 – bernatpi
因此,你有一列,你想要一列與不同的排序?還是有缺口? – Sarien
我試圖用於我在$ var1;做; echo $ i;完成。而且我也嘗試了「回聲」的不同語法。 – bernatpi
我想要在一列中的每個變量,但列應該在同一行。 – bernatpi