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