我想创建一个bash脚本,该脚本从文本文件中的“:”字符前选择每行的第一个单词,并将其输出到一个数组中(每行1个插槽)。
现在我有这个:
while read p;
do
arr+=$p | sed -r 's///'
done <test.txt
而且我不知道要在sed的状态下放置什么。
我有这个regexep:
/^([^:])+/gm
不需要子shell和sed,只需使用参数扩展即可:
while read p ; do
arr+=( "${p%%:*}" )
done < test.txt
在一个命令中删除所有子字符串可能会更快
while read p ; do
arr+=("$p")
done < test.txt
arr=("${arr[@]%%:*}")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句