LINUX.ORG.RU

Как удалить весь текст кроме нужной строки используя sed?

 


0

2

подскажите,пожалуйста, есть текстовый файл,

где-то в нем есть строка вида link=141931341# (нужный текст заканчивается #) как удалить все (включая #) оставив в файле только нужную строку используя SED



Последнее исправление: ice_daemon (всего исправлений: 2)

Ответ на: комментарий от ice_daemon

оставляет полностью все строки где есть «link=...» а хотелось бы оставить не полностью строку, а только link=....

ice_daemon
() автор топика
Ответ на: комментарий от beastie

спасибо sed -n '/link=/s/#.*$//p' your_file

так почти получилось, но остались символы в строке перед link=... и в конце добавилась точка beastie может поможете довести до конца?

ice_daemon
() автор топика
Ответ на: комментарий от beastie

спасибо большое, так гораздо лучше

но одна проблема вылезла, если запускать на win, команду надо писать в "", но если надо удалить все до символа ", при использовании такой команды

«sed.exe» -n «/resumeHash=/s/^.*\(resume=[^»]*\)".*$/\1/p" reslist.tmp > reslist.txt удаляет все, если заменить " на любой другой символ, то все работает, как сочетать «» начала команды и " как символ конца нужной строки?

ice_daemon
() автор топика
echo "link=141931341" > file.txt
anonymous
()
Ответ на: комментарий от ice_daemon

разобрался нужно экранировать кавычки слэшем \"

ice_daemon
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.