ファイルの各行を下線で連結します。

ファイルの各行を下線で連結します。

次の名前の入力ファイルがありますtest.txt

Homo sapiens
Mus musculus
Rat rattus rattus

forここでループを使用して各行を繰り返したいと思います。このような:

for i in "`cat test.txt`"
do
        fn=store_name
        do something else > ${fn}.txt
done

各行名の間にスペースがあるので、この行名の間に追加される変数を作成しているようにしたいとcat test.txt思います。fn_fnHomo_sapiensMus_musculusRat rattus ratesRat_rattus_rattus

この目標をどのように達成できますか?

ベストアンサー1

スペースを下線で囲むために使用されますtr

while read line
do
    echo ${line} | tr -s " " "_"
done < test.txt

Homo_sapiens Mus_musculus Rat_rattus_rattus

おすすめ記事