質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

4回答

13805閲覧

ファイル分割時に拡張子を揃えたい

mo102u

総合スコア17

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2017/02/02 06:42

###前提・実現したいこと
csvファイルをsplitコマンドにて分割し、拡張子を.csvで揃えたいと思っております。
しかし現状下記内容でうまくいっておりません。
ご存知の方がいらっしゃれば教えていただけないでしょうか。
よろしくお願い致します。

###発生している問題・エラーメッセージ

split: illegal option -- - usage: split [-a sufflen] [-b byte_count] [-l line_count] [-p pattern] [file [prefix]]

###該当のソースコード
下記のコマンドにてファイル分割を行おうとしたのですがうまくできていません。

linux

1$ split -l 5000 --additional-suffix=.csv -d -a 2 test.csv test_

###試したこと
--additional-suffix=.csvのオプションを付けなければ分割が行われるのですが、この書き方はできないのでしょうか。
自己解決に向けて検索しましたが、みなさんこのコマンドで実現できているようでしたので、解決方法が見つかっていません。

###補足情報(言語/FW/ツール等のバージョンなど)
macOS Sierra 10.12.3
iTerm2 3.0.9
分割予定csvファイル 20M

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

エラーになるということは、そのオプションはgnuの拡張機能だと思います。
使えるオプションは、man splitを見てください。
MacOSとLinux系OSは異なるOSですよ。

splitで分割だけやって、そのあと、csv を付けるということでいいかと思います。

Bash

1for f in test_??;do mv $f $f.csv;done

投稿2017/02/02 07:34

otn

総合スコア85762

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mo102u

2017/02/03 01:49

ありがとうございます。 マニュアルも参考にさせていただきました。 このように書けば実現できるのですね、とても勉強になりました。
guest

0

$ brew install coreutils
とすると、gnu 版の split である gsplit が使えるようになります。

gsplit では --additional-suffix をつかえます。
標準の split では --additional-suffix はつかえません。

$ which split /usr/bin/split $ which gsplit /usr/local/bin/gsplit $ ls $ gsplit --additional-suffix=".csv" -l 10 ../split.txt $ ls xaa.csv xab.csv xac.csv xad.csv xae.csv xaf.csv xag.csv

投稿2017/02/04 00:34

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんな感じで...

split -l 5000 -d -a 2 test.csv test_ ls test_* | while read i;do mv $i $i.csv ;done

投稿2017/02/02 07:26

HeyHey0111

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mo102u

2017/02/03 01:48

ご回答ありがとうございます。 オプションでは-dも使用できませんでした。
guest

0

macOSのsplitには--additional-suffixオプションはありませんので、どうしてもsplitで処理をしたければGNU版を導入する必要があります。

同様の質問がStackExchangeにありましたので、参考になると思います。

投稿2017/02/02 07:21

carimatics

総合スコア740

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mo102u

2017/02/03 01:43

ありがとうございます。 お教えいただいた記事も参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問