К сожалению, перенаправление вывода сразу очищает выходной файл.Поэтому вы должны использовать другой файл в качестве выходного файла, например:
sed '/test2/d' /aaa/bbb/ccc/myfile > /aaa/bbb/ccc/myfile2
Или вы можете сделать, например, что-то вроде этого:
sed '/test2/d' /aaa/bbb/ccc/myfile | tee /aaa/bbb/ccc/myfile
Но из-за буферизации это не очень надежно,Если программа вывода (tee
) запишет в файл до того, как sed закончит чтение, это приведет к повреждению данных.Возможно, вы также можете поэкспериментировать с программами buffer
или mbuffer
вместо tee
, где вы можете указать размеры буфера.Но у меня не было надежного успеха в быстром испытании.