У меня есть папка, которая содержит другой набор папок, каждая из которых содержит файл .csv, в который необходимо внести изменения.
Я хочу найти определенную строку и заменить ее
Пример моего CSV-файла:
XX, 1,2,3,4, AA, BB, 5,6 ...
ГГ, 5,6,7,5,CC, DD, 9,10 ...
Я хочу заменить AA (6-е место) на "aa, bb, cc" ТОЛЬКО для тех строк, первое слово которых XX, Я хочу заменить CC (6-е местоесли бы я использовал разделитель, как и в предыдущей строке) с "cc, dd, ee" ТОЛЬКО для тех строк, первое слово которых YY
Как выполнить рекурсивный поиск по всем папкам и найти эти строкитолько в файле .csv и внесите эти изменения.
#!/bin/bash
file=test1.txt
IFS=$','
for i in `cat $file`
do
echo "the name of the file I am going to is"
echo "$i"
#add logic to look for "line beginning with XX and replace the 6th word in that line
sed -e 's/^XX.\{0\}/replacedAB/' $i
done
test1.txt содержит путь к файлу .csv.
Я использую / bin / bash и моя версия 4.1.2 (1)
Можно ли использовать команду sed или read для замены строки в строке, начинающейся с XX?