Awk - сопоставить столбец TSV и заменить все строки префиксом в bash.

У меня есть файл TSV со следующим форматом:

HAPPY    today I feel good
SAD    this is a bad day
UPSET     Hey please leave me alone!

Я должен заменить первое значение столбца с префиксом, как __label__ плюс мое значение, чтобы снизить, чтобы иметь в качестве вывода

__label__happy     today I feel good
__label__sad     this is a bad day
__label__upset     Hey please leave me alone!

в оболочке (используя awk, sed) так далее.

3 ответа

Решение
awk 'BEGIN{FS=OFS="\t"}{ $1 = "__label__" tolower($1) }1' infile

Следующий awk также может помочь вам в этом.

awk -F"\t" '{$1=tolower($1);printf("_label_%s\n",$0)}' OFS="\t"   Input_file

еще один awk

$ awk 'sub($1,"__label__"tolower($1))' file

с GNU sed

$ sed -r 's/[^t]+/__label__\L&/' file
Другие вопросы по тегам