teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

微修正

2017/03/07 14:18

投稿

otn
otn

スコア86349

answer CHANGED
@@ -1,16 +1,16 @@
1
1
  「各行をカンマで繋ぐ」であれば、t_obaraさんの paste -s で十分ですが、
2
- 一般化して、「最終行だけ別の処理をしたい」考えてみました。
2
+ 「最終行だけ別の処理をしたい」の一般化された場合にも出来るように考えてみました。
3
3
  ループで一回ずつ遅らせて処理します。
4
4
  ```Bash
5
5
  TARGET_MSG_ID=
6
6
  last=
7
7
  while read line
8
8
  do if test -n "$last"
9
- then TARGET_MSG_ID="$TARGET_MSG_ID$last,"
9
+ then TARGET_MSG_ID="$TARGET_MSG_ID$last," #最後以外の処理
10
10
  fi
11
11
  last="$line"
12
12
  done < msg_id.txt
13
- TARGET_MSG_ID="$TARGET_MSG_ID$last"
13
+ TARGET_MSG_ID="$TARGET_MSG_ID$last" #最後の処理
14
14
 
15
15
  echo "$TARGET_MSG_ID"
16
16
  ```