本気出して考えてみた

時事問題、IT技術、音楽、ドラム、ポケモン、ベイブレードバースト、ガジェットなど複数の話題を綴る雑多なblogです

linux

bash で変数のカウントアップをやるには

投稿日:2014年1月9日 更新日:

本日、業務で必要になり、調べたことをまとめてみる。

【やりたいこと】
[hogehoge.txt]
あああああ いいいいい ううううう えええええ おおおおお
あああああ いいいいい ううううう えええええ おおおおお
あああああ いいいいい ううううう えええええ おおおおお

1. hogehoge.txtを1行ずつ読み込む
2. 項目1、項目3をつかって、とあるコマンド文を作り、ファイルへリダイレクト

というようなことをやりたかったわけです。

今回調べてわかったことは、変数のカウントアップを bash でやろうとしたとき、
ちょっと癖があるなということ。
よくあるプログラムのように

i = i + 1

なんて書き方ができないとは知らなかった。。。

結局やりたいことを満たすために、以下のようにしました。

[bash]#!/bin/bash
FILE=/home/hoge/hogehoge.txt
i=0
cat $FILE | while read KEY1 KEY2 KEY3 KEY4 KEY5
do
i=$(($i + 1))
echo "コマンド1" ${KEI1} ${KEY3} "> /home/hoge/"$i".txt" >> /home/hoge/run_command.sh
done[/bash]

調べてみると、いろんな書き方ができるみたいですが、自分はこれで
うまく行ったので備忘録として書いておきます。

実行した結果としては、こんな形になります。

[/home/hoge/run_command.sh]
コマンド1 あああああ ううううう > /home/hoge/1.txt
コマンド1 あああああ ううううう > /home/hoge/2.txt
コマンド1 あああああ ううううう > /home/hoge/3.txt

1000行近くあるデータから作り出すのだから、出来る限り楽をしないとね。
しかし、Linux は bash が使えて便利だ。
Windows だと WSH なり PowerShell なりで記述するしかないけど、ここ
まで簡単にはできないからなー。
オブジェクト宣言、変数宣言だけで何行も必要になるし。

もっとスラスラと bash が書けるようにならねば。。。

ga('create', 'UA-46761534-1', 'reona530.com'); ga('require', 'linkid', 'linkid.js'); ga('send', 'pageview');

-linux

執筆者:


comment

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Java の Out of Memory によるトラブル・・・

参った。 本日夕方から、Java の Out of Memory によるトラブルで散々。 現在2:40。 明日はトラブル後であるから、当然定時出社だ。 我が会社は8:40始業。 通勤時の渋滞や支度時間 …

超小型パソコンが熱い

昨年秋、超小型パソコン「Raspbrry Pi」を購入。 名刺サイズのおもちゃみたいなやつだけど、立派なパソコンという。 まあ、マシンパワーはないので、たいそうなことはできないのだけど、 それでもWe …

Apacheのログをrsyslog経由でDB(MySQL)に保存する

このblogが動作しているVPSで、ディスクスペースも余りまくっているので、 長期的にログを保存・分析することを考え、Apacheのログをrsyslog経由で MySQLに保存する設定をやってみました …

自己紹介

横浜の計装会社で6年勤務。田舎の長男のため、結婚を機に実家へ戻る。現在は実家のある某地方では大手のSI会社勤務で16年目。SE歴22年。娘3人(中3、小3、6歳)。学生時代は吹奏楽部で打楽器担当。ドラム演奏可。現在は電子ドラムで練習する程度。Youtubeに演奏動画をアップしてたりする。HR/HM好き。きゃりー・Pufumeも聴くなど音楽については雑食。最近はBABYMETAL押し!ゲームは長女がポケモンやり始めたのをキッカケに、いい歳してどっぷりポケモンにハマるなど。さらにはポケモンカードにまで手を出す。さらにさらに、2017年8月よりベイブレードバーストを開始するなど。

2020年2月
« 10月    
 12
3456789
10111213141516
17181920212223
242526272829  

自己紹介

横浜の計装会社で6年勤務。田舎の長男のため、結婚を機に実家へ戻る。現在は実家のある某地方では大手のSI会社勤務で16年目。SE歴22年。娘3人(中3、小3、6歳)。学生時代は吹奏楽部で打楽器担当。ドラム演奏可。現在は電子ドラムで練習する程度。Youtubeに演奏動画をアップしてたりする。HR/HM好き。きゃりー・Pufumeも聴くなど音楽については雑食。最近はBABYMETAL押し!ゲームは長女がポケモンやり始めたのをキッカケに、いい歳してどっぷりポケモンにハマるなど。さらにはポケモンカードにまで手を出す。さらにさらに、2017年8月よりベイブレードバーストを開始するなど。

2020年2月
« 10月    
 12
3456789
10111213141516
17181920212223
242526272829