У меня есть txt-файл, который содержит имена, я хочу извлечь имя и фамилию. Я создал сценарий bash, но он дает мне ошибку

У меня есть txt-файл, который содержит имена, я хочу извлечь имя и фамилию. Я создал сценарий bash, но он дает мне ошибку

19.01.2020 05:36:50 Просмотров 28 Источник

Bash скрипт для считывания имен из текстового файла. Я создал ниже скрипт и он выдает ошибку

#!/bin/bash
file=testname.txt
while IFS= read -r line; do
last=`awk -F ', ' '{ print $1 }'` $line
    echo $last
first='awk -F ',' '{ print $2 }'' $line
    echo $first
done < "$file"
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59806666/i-have-a-txt-file-which-contains-names-i-want-to-extract-first-name-and-last-na#comment105753618_59806666
Добро пожаловать в SO, очень хорошо, что вы показали свой код, который вы пытались сохранить его.Поэтому мы также призываем людей добавлять свои входные данные и ожидаемые результаты, не могли бы вы опубликовать входные данные и ожидаемые результаты в своем вопросе и сообщить нам об этом?
https://stackoverflow.com/questions/59806666/i-have-a-txt-file-which-contains-names-i-want-to-extract-first-name-and-last-na#comment105754007_59806666
Вставьте туда свой скрипт: shellcheck.net
https://stackoverflow.com/questions/59806666/i-have-a-txt-file-which-contains-names-i-want-to-extract-first-name-and-last-na#comment105757847_59806666
Вам не нужно запускать awk на каждой строке файла, awk может анализировать сам файл.

Ответы - У меня есть txt-файл, который содержит имена, я хочу извлечь имя и фамилию. Я создал сценарий bash, но он дает мне ошибку / I have a txt file which contains names, I want to extract first name and last name. I have created bash script but it's giving me an error

Является ответом!
Jetchisel

19.01.2020 01:43:55

Предположим, что входные данные в файле следующие

last_name, first_name

Первое поле / столбец содержит фамилию, а второе поле/столбец-имя. Используя оболочку.

while IFS=, read -r lastname firstname; do
   printf '%s %s\n' "$lastname" "$firstname" 
done < inputfile

Использование awk

awk -F, '{printf "%s %s\n", $1, $NF}' inputfile
Закрыть X