Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Удалить строки из txt файла  (Прочитано 927 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Удалить строки из txt файла
« : 25 Сентября 2018, 08:36:22 »
Здравствуйте.

Два txt файла, первый (1) постоянно пополняется, второй (2) не пополняется.

Как удалить из (1) строки содержащиеся в (2)?

Спасибо.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #1 : 25 Сентября 2018, 08:57:41 »
sed '2d'
sed '2,10d'
Wars ~.o

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #2 : 25 Сентября 2018, 11:06:04 »
victor00000,
получилось удалять значения "nnn", а как список из txt файла брать?

sed -i "/nnn/d" 1.txt

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #3 : 25 Сентября 2018, 11:19:37 »
sed '/nnn/,/nnn/d'
sed '/nnn/,/nnn/!d'
Wars ~.o

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #4 : 25 Сентября 2018, 11:39:17 »
victor00000, как из файла брать? там несколько значений, nnn это так, для примера.

Оффлайн igrey

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #5 : 25 Сентября 2018, 11:44:06 »
grep -v -f файл_шаблонов(2) файл_пополняемый(1)При условии что в "файл_шаблонов(2)" нет пустых строк все работает гладко.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #6 : 25 Сентября 2018, 12:10:05 »
Ввысь,
ls *.txt
sed .... -i *.txt

find ./ type f -name="*.txt" | xargs -I {} sed '....' -i {}
Wars ~.o

Оффлайн Ввысь

  • Автор темы
  • Активист
  • *
  • Сообщений: 473
    • Просмотр профиля
Re: Удалить строки из txt файла
« Ответ #7 : 25 Сентября 2018, 12:29:01 »
igrey, victor00000, спасибо, взлетело. Сделал так

grep -v "^$" 2.txt > tmp ; mv -f tmp 2.txt - удаляет пробелы
grep -v -f 2.txt 1.txt > tmp ; mv -f tmp 1.txt - удаляет из 1.txt содержимое 2.txt

все работает)

 

Страница сгенерирована за 0.681 секунд. Запросов: 24.