Рейтинг:0

Я пытаюсь заставить этот файл показывать автора перед CSV, который является "," показывает только имя

флаг cn
#!/бин/баш
# это ввод
#Клайв Касслер,Корабль-призрак,9780399167315
#Клайв Касслер,Бутлеггер,9780399167295
#Джеймс Паттерсон,Невидимка,9780316405345
#Джеймс Паттерсон, сейчас ушел, 9781455515845
#Джеймс Роллинс, Карта костей, 9780062017855
#Майкл Коннели, адвокат Линкольна, 9781455516345
#Дэвид Балдаччи,Побег,9781478984345
установить ВХОД=0

установить ИФС=,

    

echo 'Как вы хотите отсортировать файл?'
echo '1 для автора'
эхо '2 для заголовка'
эхо '3 ISBN'
читать -r ВВОД

case $INPUT в

        1) sort -t "," -k 1 project2.input > Proj2.sorted;
           outfile=project2.author.out;;

        2) sort -t, -k project2.input > Proj2.sorted;
           outfile=project2.title.out;;


        3) sort -t, -k project2.input > Proj2.sorted;
           выходной файл=проект2.isbn.out;;

        *) echo 'введено не 1-3'; выход;;

эсак

# Настройка эха и информации заголовка здесь.
echo "******************************************" > "$outfile"
echo "* CIS 129 Project 2 *" >> "$outfile"
echo "* 19.06.2021 *" >> "$outfile"
echo "*********************************************" >> "$outfile "



пока читаешь -r название автора isbn
делать
       эхо $автор

сделано < Proj2.sorted

david avatar
флаг cn
спасибо за редактирование.
Raffa avatar
флаг jp
Пожалуйста, прочитайте: https://askubuntu.com/help/someone-answers
Рейтинг:2
флаг hr

оболочка bash установлен команда не та, которую вы хотите в этом контексте - она ​​используется для установки значения оболочки параметры и позиционные параметры.

В частности, команда установить ВХОД=0 устанавливает значение первого позиционного параметра оболочки, $1, к ВВОД=0. затем установить ИФС=, заменяет его на ИФС=,. Правильные задания будут просто ВВОД=0 и ИФС=, соответственно.

ОДНАКО, единственное место, где значение ИФС кажется значительным, находится в вашем читать command - и там вы можете установить его локально, т.е.

в то время как IFS=, читать -r название автора isbn

поэтому вам не нужно устанавливать ИФС=, в другом месте. Вы также должны завести привычку цитировать расширения переменных. Так

в то время как IFS=, читать -r название автора isbn
делать
       эхо "$автор"

сделано < Proj2.sorted

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.