С bash:
#!/bin/bash
while IFS=, read -r -a line; do
if [ "${line[@]:(-4):1}" = \"true\" ]; then
IFS=,; printf '%s\n' "${line[*]:0:$((${#line[@]}-4))},\"false\",${line[*]:(-3)}"
else
IFS=,; printf '%s\n' "${line[*]:0:$((${#line[@]}-4))},\"true\",${line[*]:(-3)}"
fi
done <file.txt
Здесь мы создаем массив из каждой строки с элементами, разделенными на ,.
Затем мы проверяем, является ли четвертый элемент с конца "true" или "false", а затем замена выполняется соответствующим образом.
Это оконная программа, поэтому вы, вероятно, не будете нормально работать. Вы можете либо попробовать использовать WINE (Package для использования оконных программ в Linux), либо найти альтернативу, которая может сделать то же самое. С уважением, ADDB
Это оконная программа, поэтому вы, вероятно, не будете нормально работать. Вы можете либо попробовать использовать WINE (Package для использования оконных программ в Linux), либо найти альтернативу, которая может сделать то же самое. С уважением, ADDB