私はawkが最も簡単な解決策だと思いますが、あなたは、ループ内でcut
を使用して試みることができます。 サンプルスクリプト(出力はstdoutに、しかし、あなたはそれをリダイレクトすることができます):
#!/bin/bash
# Check for input
if ((${#1} == 0)); then
echo No input data supplied
exit
fi
# Initialise first input
i=$1
# While $i still contains commas
while { echo $i| grep , > /dev/null; }; do
# Get first item of $i
j=`echo $i | cut -d ',' -f '1'`
# Shift off the first item of $i
i=`echo $i | cut --complement -d ',' -f '1'`
echo $j
done
# Display the last item
echo $i
次に、あなただけの./script.sh "AL,AK,AS,AZ,AR,CA" > states.txt
としてそれを実行することができます(あなたがローカルディレクトリにscript.shとして保存し、それが実行権限を与えると仮定した場合)
回答ありがとうございます。これでやります –