985 B
985 B
categories | tags | ||
---|---|---|---|
|
|
Splitting input into an array
readarray
readarray
makes it really easy to split input into an array based on new lines.
Say we have this file as input:
123
456
789
Then we can split like so:
readarray -t name_for_array < ./input.text
# Print all elements
echo "${name_for_array[@]}"
# Print element by index
echo "${name_for_array[1]}"
456
If we want to read direct from string within bash file:
readarray -t new_name_for_array <<< "here
is
some
text"
echo "${new_name_for_array[1]}"
is
The -t flag removes the trailing newline
Add more: https://linuxhint.com/split-string-array-bash/
read
For different delimiters we have to use read
, combined with IFS
the Internal Field Separator.
For example, to split by comma:
# comma-input.txt
something, something else, something more
IFS=',' read -a arr < ./comma_inputs.txt