`${lostsongs[а+1]}` будут читать мимо конца массива на последнем круге (который является, почему вы видите `[[" < магазин ]]` в выходных данных отладки, где вы, видимо, работает с размером 1). Вам также нужны пробелы вокруг `<размер В если заявление, сейчас это тестирование, если "в<1334" существует (т. е. не null, а это не так) вместо тестирования если" < 1334" (которое является недопустимым тест, строки против ряда). Можете ли вы поделиться больше о том, что хранится в$lostsongs`? Я думаю, что это часть проблемы. Cossacksman: Спасибо за совет. К сожалению, когда я купил компьютер (на самом деле купил два из них одинаковые; одна хорошо, другая не загружается), он пришел с Windows Vista с предустановленным и не вышел с диск с Windows Виста. Бы это быть возможным для меня, чтобы создать для Windows "загрузочный диск" от "хороших" компьютер и попробовать то, что вы предложили? Я знаю, что это скорее "поддержка Microsoft" вопрос, и это форум "Убунту", так что, спасибо за ваш ответ.

Что-то вроде этого, кажется, ОК:

$ СЭД '/\/\*/,/\*\//д; /\*\//д; /\/\*/д' файл file4
Первая линия НС1.с 
adsf
asfd 

Для редактирования "на месте" можно использовать СЕПГ -я

Это СЭД делает три отдельных исключения:

/\/\*/,/\*\//д = диапазон между узором /* и */ (сбежал с \)
/\*\//д = строк, содержащих */ (сбежал)
/\/\*/д = строк, содержащих /* (убежал)