次の変数には、たとえばこの値が含まれます
echo $SERVERS
server1,server2,server3,server4,server5
それらを別のラインにパイプしたいときは、次のようにします
echo $SERVERS | tr ',' '\n'
server1
server2
server3
server4
server5
今私は別のパイプを追加したいと思います( echo $SERVERS | tr ',' '\n' | ..... )
、以下の期待される結果を出力するため
1 ……………… server1
2 ………………… server2
3 ………………… server3
4 ………………… server4
5 ………………… server5
6 ……………… server6
7 ………………… server7
8 ………………… server8
9 ………………… server9
10 ………………… server10
11 ………………… server11
12 ………………… server12
それを行う方法がわかりませんが、おそらくnc
コマンドを使用する
なにか提案を?
Awkで:
$ servers='server1,server2,server3,server4,server5'
$ awk -v RS=, '{print NR "........" $0}' <<<"$servers"
1........server1
2........server2
3........server3
4........server4
5........server5
または、左詰めで行番号を出力するには
awk -v RS=, '{printf "%3d........%s\n",NR,$0}' <<<"$servers"
(フィールド幅3
(サーバーリストのサイズに応じて)。
cat -n <<< ${SERVERS//,/$'\n'}
1 server1
2 server2
3 server3
4 server4
5 server5
$ awk -F',' '{for (i=1; i<=NF; i++) printf "%-2d ........ %s\n", i, $i}' <<<"$servers"
1 ........ server1
2 ........ server2
3 ........ server3
4 ........ server4
5 ........ server5