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

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

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

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

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

2回答

9619閲覧

シェルスクリプト/while readで変数2つずつ呼び出したい

daikoa

総合スコア0

Linux

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

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2021/03/22 02:34

以下の情報ががあります。

##list.txt
たなか 1000円
すずき 3000円
たかはし 10000円

##やりたいこと
名前と金額をそれぞれ呼び出し、以下出力ができるシェルスクリプトを書きたいです。
----出力想定
今日の会費で、たなかが払うべき金額は1000円です。
今日の会費で、すずきが払うべき金額は3000円です。
今日の会費で、たかはしが払うべき金額は10000円です。

###注1.list.txtの中は修正できます。
必要であれば
---list.txt
Name="たなか" yen="1000円"
Name="すずき" yen="3000円"
Name="たかはし" yen="10000円"

とかもできます。

###注2.list.txtは別ファイルにしていますが、スクリプトのコードに直接記入もできます。

###注3.いまのところ、While readで1行ずつよんであげればいいのかな、とはおもうものの、2つずつ呼び出すやり方が不明です。

よろしくおねがいいたします。

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

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

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

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

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

guest

回答2

0

sigsegvさんの回答で話は終わりな気もしますが
ねたとして…

list.txt

Name="たなか";yen="1000円" Name="すずき";yen="3000円" Name="たかはし";yen="10000円"

sh

1cat list.txt | \ 2while read x 3do 4 eval $x 5 echo '今日の会費で、'$Name'が払うべき金額は'$yen'です。' 6done

投稿2021/03/22 04:08

takasima20

総合スコア7464

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

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

0

read a b みたいに変数を並べればいい

sh

1while read a b ; do 2 echo "今日の会費で、${a}が払うべき金額は${b}です。" 3done < list.txt

投稿2021/03/22 02:46

sigsegv

総合スコア895

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問