Я получаю большой файл, назовите его file.txt, который может иметь 20000 строк или более.Некоторые из этих строк должны быть удалены из исходного файла, и должен быть создан новый файл, содержащий оставшиеся строки, например, newfile.txt.Строки, которые нужно удалить, находятся в другом файле, например, index.txt.Итак, что-то вроде:
file.txt:
line1
line2
...
line19999
line20000
index.txt
11
56
79
...
19856
Я пытался использовать sed, пытаясь получитьиспользовать числа в индексе для удаления этих строк, например:
for i in ${index.txt[@]}
do
sed -i.back '${i}d' file.txt>newfile.txt
done
Однако я получаю сообщение об ошибке: $ {index.txt [@]}: плохая замена, и у меня нетИдея как это исправить.
Я также пытался использовать gawk, но в коде было что-то не так, я думаю, что это связано с тем, что файл имеет отступ с вкладками.Если бы кто-то мог помочь, я очень ценю это.