diff --git a/linux-bash/read/src/main/file.csv b/linux-bash/read/src/main/file.csv new file mode 100644 index 0000000000..903384a5b6 --- /dev/null +++ b/linux-bash/read/src/main/file.csv @@ -0,0 +1,2 @@ +lorem;ipsum;is\;simply\;du\mmy;text +of;the;printing;and;typesetting;industry. diff --git a/linux-bash/read/src/main/read_inputs.sh b/linux-bash/read/src/main/read_inputs.sh index 4351a27e60..d0dd2c3ea9 100755 --- a/linux-bash/read/src/main/read_inputs.sh +++ b/linux-bash/read/src/main/read_inputs.sh @@ -35,6 +35,7 @@ file_read(){ do echo " Word [$input]" done + # close file descriptor after reading exec {file_descriptor}>&- } @@ -67,13 +68,46 @@ advanced_pipeing(){ } +custom_ifs_read(){ + declare -a input_array + while IFS=";" read -a input_array -r + do + for element in ${input_array[@]} + do + echo -n "$element.backup " + done + echo "" + done < "file.csv" +} + +infinite_read(){ + while read -d "?" -ep "Input:" input + do + echo "$input" + done +} + +custom_ifs(){ + declare -a input_array + IFS=$1 # whitespace + read -a input_array -p "Enter something with delimiter <$1>:" + for input in ${input_array[@]} + do + echo "[$input]" + done +} + #default_read #array_read #special_delim #file_read #prompt_read #default_input_read -advanced_pipeing +#advanced_pipeing +#custom_ifs_read +#infinite_read +custom_ifs " " +custom_ifs ";"