前提・実現したいこと
ターミナルを使って大量のcsvファイルを一括で処理したいと考えています。
実現したい処理は
まず1列目を削除、次に
- 1列目は最初の行
- 2列目は2列目の中で最大値
- 3列目は最後の行
- 4列目は4列目の中で最小値
を一行にまとめる。というものです。
うまく表現できないのでcsvファイルが以下の場合(1列目を削除後)を例にすると
|行数|列1|列2(最大値)|列3|列4(最小値)|
|:--|:--:|--:|--:|
|1|40|18|3|141|
|2|33|5|1|110|
|3|2|15|2|100|
|4|26|11|1|111|
|5|85|19|2|197|
|6|11|9|1|120|
|7|11|4|1|119|
|8|14|1|3|131|
|9|75|20|2|178|
|10|42|6|1|154|
を
|列1|列2|列3|列4|
|:--|:--:|--:|
|40|20|1|100|
このように一行に書き換え(上書き)したいと考えています。
列1は最初の行の「40」
列2は列2の最大値「20」
列3は最後の行の「1」
列4は列4の最小値「100」
といった具合です。
###試したこと
awkやsedで試行錯誤しましたがどうしても白紙ファイルが出来上がってしまいます。。。
また参考までにcat ファイル名 | awk '{if(m<$3) m=$3} END{print m}'
を実行したところ何も書き出されませんでした。$2だけ書き出されましたが最大値ではありませんでした。ここら辺もよく理解できていません。
出来上がった複数のcsvを1つに結合してSwiftで配列に格納しようと思っています。
1列目を削除する方法、最大値最小値を抽出して一行にまとめる方法をご教授ください。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/26 03:37
2019/01/26 04:50
2019/01/26 05:00 編集
2019/01/26 05:51
2019/01/26 05:58
2019/01/26 06:10 編集
2019/01/26 06:10
2019/01/26 07:51