zsh: 改行で区切られた項目の for ループ

zsh: 改行で区切られた項目の for ループ

変数があります。

❯ echo $numholds     
409503
409929
409930
409932
409934
409936
409941
409942
409944
409946

forループを作成したいのですが、改行区切りは機能しません。

❯ for num in $numholds; do
echo $num ,
echo New Item!
> done                         
409503
409929
409930
409932
409934
409936
409941
409942
409944
409946 ,
New Item!

私もそれを設定しても、これが起こりますIFS=$"\n \t"。どうすればいいですか?

ベストアンサー1

zshから改行に分割するには、次のものを使用できます。f パラメータ拡張フラグ(fのためラインf需要)は次の略語ですps:\n:

for num (${(f)numholds}) print -r New item: $num

-splittingを使用することもできます$IFS。ここではzsh(他のBourne様シェルとは異なり)使用する必要があります。$=param通事論$=はさみのように見えました):

for num ($=numholds) print -r New item: $num

おすすめ記事