Я пишу сценарий bash для анализа некоторых полей из текстового файла с разделителями табуляции и добавления их к имени файла самого файла. Я могу разобрать поля, используя awk, но они идут с добавленной новой строкой. Я хотел бы либо убрать эти новые строки из результата, либо в идеале не допустить, чтобы awk добавил их в первую очередь. Пример кода с эхом из сохраненной строки на данный момент:
#!/bin/bash
echo "Usage: sh extract.sh filename.txt (or *.txt)"
for filenam in "$@"
do
timestring=$(awk 'BEGIN{ FS="\t"; RS="\n"; ORS="_"; OFS="_"}
/Conditions/ {printf $2}
/Date/ {printf $2}
/Time/ {printf $2}
END {}' $filenam)
echo $timestring
done
В данный момент, каждый раз, когда он находит совпадение, он перезаписывает все предыдущие совпадения, потому что \ n добавляется в конец строки. Как мне это предотвратить? (так что у меня есть условие_дата_ времени в виде строки без каких-либо символов новой строки).
Извините, если это кажется простым вопросом, но я часами гуглял, пробовал разные вещи, и я в тупике. Спасибо!