Я пытаюсь сделать все значения в 11-м столбце моего файла .csv строчными. Я знаю, что могу использовать 'tr A-Z a-z', но как мне убедиться, что он работает в нужном мне файле и только в 11-м столбце.
Это зависит, что Вы подразумеваете ".csv под файлом"
В общем случае (где заключенные в кавычки поля CSV могут содержать встроенные символы разделителя, как "foo,bar",baz
) необходимо будет использовать инструмент, который может правильно проанализировать это, такое как один из Perl / Python / модули Ruby - или Miller.
Напр. данный:
$ cat file.csv
ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,ELEVEN,TWELVE
затем
$ mlr --csv --implicit-csv-header --headerless-csv-output put '$11 = tolower($11)' file.csv
ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,eleven,TWELVE
Поскольку простая запятая разграничила поля, Вы могли использовать Awk или даже Sed:
$ awk -F, 'BEGIN{OFS=FS} {$11 = tolower($11)} {print}' file.csv
ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,eleven,TWELVE
$ sed -E 's/([^,]+)/\L\1/11' file.csv
ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,eleven,TWELVE