回答編集履歴

5

テキスト修正

2019/01/26 03:17

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -28,13 +28,13 @@
28
28
 
29
29
  10 42 6 1 154
30
30
 
31
- [q170948]$ export COL1=`head -1 test.csv | cut -f 2`
31
+ [q170948]$ COL1=`head -1 test.csv | cut -f 2`
32
32
 
33
- [q170948]$ export COL2=`sort -n -k 3 -r test.csv | head -1 | cut -f 3`
33
+ [q170948]$ COL2=`sort -n -k 3 -r test.csv | head -1 | cut -f 3`
34
34
 
35
- [q170948]$ export COL3=`tail -1 test.csv | cut -f 4`
35
+ [q170948]$ COL3=`tail -1 test.csv | cut -f 4`
36
36
 
37
- [q170948]$ export COL4=`sort -n -k 5 test.csv | head -1 | cut -f 5`
37
+ [q170948]$ COL4=`sort -n -k 5 test.csv | head -1 | cut -f 5`
38
38
 
39
39
  [q170948]$ echo $COL1 $COL2 $COL3 $COL4
40
40
 

4

テキスト修正

2019/01/26 03:17

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- 上記を使って、test.csv を置き換えるコマンドラインを一行で書くと、ちょっと長いですが、以下のようになります。
49
+ 上記を使って、test.csv を置き換えるコマンドラインを一行で書くと、以下のようになります。
50
50
 
51
51
 
52
52
 
@@ -88,7 +88,7 @@
88
88
 
89
89
 
90
90
 
91
- 一行で書くと長いので、シェルスクリプトに書いておいて、ターミナルからはそのスクリプトを使うようにすればよいかと思います。
91
+ 上記のように、一行で書くと長いので、シェルスクリプトに書いておいて、ターミナルからはそのスクリプトを使うようにすればよいかと思います。
92
92
 
93
93
 
94
94
 

3

テキスト修正

2019/01/26 02:56

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -2,15 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- 一例として、以下でどうでしょう? (入力するCSVを `test.csv`としました。)
6
-
7
-
8
-
9
- 出力する一行の各を作るコマンドは、`head`, `tail`, `sort`, `cut`を使って、それぞれ以下のように書けます。
5
+ 変換後の一行を構成する4つカラムのを作るコマンドは、`head`, `tail`, `sort`, `cut`を使って、それぞれ以下のように書けます。(入力するCSVファイル名を `test.csv`としました。)
10
6
 
11
7
  ```
12
8
 
13
- [jun68ykt@mbp15 q170948]$ cat test.csv
9
+ [q170948]$ cat test.csv
14
10
 
15
11
  1 40 18 3 141
16
12
 
@@ -32,19 +28,19 @@
32
28
 
33
29
  10 42 6 1 154
34
30
 
35
- [jun68ykt@mbp15 q170948]$ export COL1=`head -1 test.csv | cut -f 2`
31
+ [q170948]$ export COL1=`head -1 test.csv | cut -f 2`
36
32
 
37
- [jun68ykt@mbp15 q170948]$ export COL2=`sort -n -k 3 -r test.csv | head -1 | cut -f 3`
33
+ [q170948]$ export COL2=`sort -n -k 3 -r test.csv | head -1 | cut -f 3`
38
34
 
39
- [jun68ykt@mbp15 q170948]$ export COL3=`tail -1 test.csv | cut -f 4`
35
+ [q170948]$ export COL3=`tail -1 test.csv | cut -f 4`
40
36
 
41
- [jun68ykt@mbp15 q170948]$ export COL4=`sort -n -k 5 test.csv | head -1 | cut -f 5`
37
+ [q170948]$ export COL4=`sort -n -k 5 test.csv | head -1 | cut -f 5`
42
38
 
43
- [jun68ykt@mbp15 q170948]$ echo $COL1 $COL2 $COL3 $COL4
39
+ [q170948]$ echo $COL1 $COL2 $COL3 $COL4
44
40
 
45
41
  40 20 1 100
46
42
 
47
- [jun68ykt@mbp15 q170948]$
43
+ [q170948]$
48
44
 
49
45
  ```
50
46
 
@@ -56,7 +52,7 @@
56
52
 
57
53
  ```
58
54
 
59
- [jun68ykt@mbp15 q170948]$ cat test.csv
55
+ [q170948]$ cat test.csv
60
56
 
61
57
  1 40 18 3 141
62
58
 
@@ -78,13 +74,13 @@
78
74
 
79
75
  10 42 6 1 154
80
76
 
81
- [jun68ykt@mbp15 q170948]$ echo `head -1 test.csv | cut -f 2` `sort -n -k 3 -r test.csv | head -1 | cut -f 3` `tail -1 test.csv | cut -f 4` `sort -n -k 5 test.csv | head -1 | cut -f 5` > test.csv
77
+ [q170948]$ echo `head -1 test.csv | cut -f 2` `sort -n -k 3 -r test.csv | head -1 | cut -f 3` `tail -1 test.csv | cut -f 4` `sort -n -k 5 test.csv | head -1 | cut -f 5` > test.csv
82
78
 
83
- [jun68ykt@mbp15 q170948]$ cat test.csv
79
+ [q170948]$ cat test.csv
84
80
 
85
81
  40 20 1 100
86
82
 
87
- [jun68ykt@mbp15 q170948]$
83
+ [q170948]$
88
84
 
89
85
 
90
86
 

2

テキスト修正

2019/01/26 02:42

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -92,4 +92,8 @@
92
92
 
93
93
 
94
94
 
95
+ 一行で書くと長いので、シェルスクリプトに書いておいて、ターミナルからはそのスクリプトを使うようにすればよいかと思います。
96
+
97
+
98
+
95
99
  参考になれば幸いです。

1

テキスト修正

2019/01/26 02:35

投稿

jun68ykt
jun68ykt

スコア9058

test CHANGED
@@ -5,6 +5,8 @@
5
5
  一例として、以下でどうでしょう? (入力するCSVを `test.csv`としました。)
6
6
 
7
7
 
8
+
9
+ 出力する一行の各列を作るコマンドは、`head`, `tail`, `sort`, `cut`を使って、それぞれ以下のように書けます。
8
10
 
9
11
  ```
10
12
 
@@ -42,15 +44,49 @@
42
44
 
43
45
  40 20 1 100
44
46
 
45
- ```
46
-
47
- 一行で書くと
47
+ [jun68ykt@mbp15 q170948]$
48
48
 
49
49
  ```
50
50
 
51
+
52
+
53
+ 上記を使って、test.csv を置き換えるコマンドラインを一行で書くと、ちょっと長いですが、以下のようになります。
54
+
55
+
56
+
57
+ ```
58
+
59
+ [jun68ykt@mbp15 q170948]$ cat test.csv
60
+
61
+ 1 40 18 3 141
62
+
63
+ 2 33 5 1 110
64
+
65
+ 3 2 15 2 100
66
+
67
+ 4 26 11 1 111
68
+
69
+ 5 85 19 2 197
70
+
71
+ 6 11 9 1 120
72
+
73
+ 7 11 4 1 119
74
+
75
+ 8 14 1 3 131
76
+
77
+ 9 75 20 2 178
78
+
79
+ 10 42 6 1 154
80
+
51
- [jun68ykt@mbp15 q170948]$ echo `head -1 test.csv | cut -f 2` `sort -n -k 3 -r test.csv | head -1 | cut -f 3` `tail -1 test.csv | cut -f 4` `sort -n -k 5 test.csv | head -1 | cut -f 5`
81
+ [jun68ykt@mbp15 q170948]$ echo `head -1 test.csv | cut -f 2` `sort -n -k 3 -r test.csv | head -1 | cut -f 3` `tail -1 test.csv | cut -f 4` `sort -n -k 5 test.csv | head -1 | cut -f 5` > test.csv
82
+
83
+ [jun68ykt@mbp15 q170948]$ cat test.csv
52
84
 
53
85
  40 20 1 100
86
+
87
+ [jun68ykt@mbp15 q170948]$
88
+
89
+
54
90
 
55
91
  ```
56
92