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

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

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

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

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

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

1回答

5274閲覧

シェルスクリプトでの並列実行

430430Wt

総合スコア37

bash

bash(Bourne-again-Shell)は sh(Bourne Shell)のインプリメンテーションに様々な機能が追加されたシェルです。LinuxやMac OS XではBashはデフォルトで導入されています。

Linux

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

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

0クリップ

投稿2017/11/24 01:12

シェルスクリプトでの並列実行

test.txtの内容、1000行程度を
以下のコマンドで分割しました。
split -l 100 test.txt out.

ファイルリストが出来ました。

out.aa
out.ab
out.ac
out.ad
out.ae
out.af
out.ag
out.ah
out.ai
out.aj

以下のシェルで、1行ずつ.logファイルに書き出しております。
#!/bin/bash

cnt=0
cat out.aa | while read line
do
cnt=expr $cnt + 1
echo ${line} > ${line}.log
done

実現したい事、out.aaからout.ajまでの上記.logへ書き出す処理を並列で行いたいです。

cat out.aa部分を最初変数に入れて実行しようかと考えていたのですが、
結構時間がかかってしまうため…

何か良い方法をご存知の方がいらっしゃいましたら
ご教示頂けますと幸いです。

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

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

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

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

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

KSwordOfHaste

2017/11/24 02:07 編集

出力先ファイル名が${line}.logである点が混乱しました。各行の内容をログファイルの名前にするのはどのような意図でしょうか?並列処理したとすると出力先ログファイルが複数のプロセスで同時に出力することになる可能性があるためログファイル名がこうなっている意図を伺いました。
guest

回答1

0

以下ではどうでしょう?

bash

1echo ${line} > ${line}.log &

但し、lineは実行番号を付加した名称にするなど、重ならないような変数にしておく必要があると思われます。

【 & 】 コマンドをバックグラウンドで実行する

投稿2017/11/24 09:20

編集2017/11/24 09:23
sazi

総合スコア25173

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問