Я пытаюсь сделать что-то довольно простое, но оно кажется более сложным, чем ожидалось ... У меня есть строки в текстовом файле, разделенные запятой, и что я хочу вывод в другой файл без первого поля.Как сохранить пробелы во входных полях с awk
Вход:
echo file1,item, 12345678 | awk -F',' '{OFS = ";";$1=""; print $0}'
Выход:
;item; 12345678
Как вы можете видеть пробелы до 12345678 являются своего рода слились только в одном пространстве. Я также попытался с помощью команды CUT:
echo file1,item, 12345678 | cut -d, -f2-
и я в конечном итоге с тем же результатом.
Есть ли обходной путь, чтобы справиться с этим?
На самом деле весь мой сценарий выглядит следующим образом:
cat myfile | while read l_line
do
l_line="'$l_line'"
v_OutputFile=$(echo $l_line | awk -F',' '{print $1}')
echo $(echo $l_line | cut -d, -f2-) >> ${v_OutputFile}
done
Но кадры в l_line все пространства, но один удаляются. Я также создал кавычки внутри файла, но тот же результат.
Спасибо за ваш ответ. Пожалуйста, см. Мой отредактированный вопрос, потому что мне все еще не удается заполнить мой код. – user2965986
Спасибо - я исправил свой ответ в ответ на ваше редактирование. – pobrelkey