「:」文字の前にあるテキストファイルの各行の最初の単語を選択して、配列(1行1スロット)に出力するbashスクリプトを作成したいと思います。
今私はこれを持っています:
while read p;
do
arr+=$p | sed -r 's///'
done <test.txt
sed条件に何を入れるべきかわかりません。
この正規表現があります。
/^([^:])+/gm
ベストアンサー1
サブシェルとsedは不要で、パラメータ拡張のみを使用できます。
while read p ; do
arr+=( "${p%%:*}" )
done < test.txt
1つのコマンドですべての部分文字列を削除する方が高速です。
while read p ; do
arr+=("$p")
done < test.txt
arr=("${arr[@]%%:*}")