LinuxForum.Fans
Тема

Как удалить в строке не нужное (sed)

Автор: inux 9 сообщений 7414 просмотров
#296485

Здравствуйте,
в текстовом файле, в некоторых строках есть текст "hold"
как удалить в строке "hold"

пример строки:
com.official.safari hold

нужно, что бы строка была такая:
com.official.safari

...
com.official.safari - эта часть в строке как пример, может быть какой угодно!

#296487
text
echo "com.official.safari hold" | sed 's/ hold//'

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

text
echo "com.official.safari hold" | awk '/hold/ {print $1}'
#296488

com.official.safari - эта часть в строке как пример, может быть какой угодно!

#296490
"inux" написал:
com.official.safari - эта часть в строке как пример, может быть какой угодно!

Покажите «кусок» файла со строками.
P.S. Команды в моём сообщении это только подсказка, а не руководство к действию ;)

#296492

в этом файле нужно найти и удалить hold
"/var/mobile/Media/general_storage/removemytweaks.txt"

в какой строчке он может быть - неизвестно.

text
actionmenu                
applist                    
apt                    
apt7                    
apt7-ssl                
basic-cmds                
berkeleydb                
boerse.actionmenu-pluspack        
boerse.appcake2                
boerse.ipastore                
boerse.repoicon                
com.alexzielenski.zeppelin        
com.alpden.abfix            
com.alpden.asktosend            
com.alpden.blocker            
com.alpden.bulletin        hold    
com.alpden.dater            
com.alpden.iap    hold            
com.alpden.infinidock            
com.alpden.ischeduler            
com.alpden.jukebox            
com.alpden.manualcorrectpro        
com.alpden.mobileterminal        
com.alpden.repoprep            
com.alpden.springtomize2        
com.alpden.stealthcam            
#296493
"Примерно так:"

[console]
lupo@gentoo-laptop temp % cat test.txt
actionmenu
applist
apt
apt7
apt7-ssl
basic-cmds
berkeleydb
boerse.actionmenu-pluspack
boerse.appcake2
boerse.ipastore
boerse.repoicon
com.alexzielenski.zeppelin
com.alpden.abfix
com.alpden.asktosend
com.alpden.blocker
com.alpden.bulletin hold
com.alpden.dater
com.alpden.iap hold
com.alpden.infinidock
com.alpden.ischeduler
com.alpden.jukebox
com.alpden.manualcorrectpro
com.alpden.mobileterminal
com.alpden.repoprep
com.alpden.springtomize2
com.alpden.stealthcam
lupo@gentoo-laptop temp % sed 's/[[:blank:]]*hold//' test.txt
actionmenu
applist
apt
apt7
apt7-ssl
basic-cmds
berkeleydb
boerse.actionmenu-pluspack
boerse.appcake2
boerse.ipastore
boerse.repoicon
com.alexzielenski.zeppelin
com.alpden.abfix
com.alpden.asktosend
com.alpden.blocker
com.alpden.bulletin
com.alpden.dater
com.alpden.iap
com.alpden.infinidock
com.alpden.ischeduler
com.alpden.jukebox
com.alpden.manualcorrectpro
com.alpden.mobileterminal
com.alpden.repoprep
com.alpden.springtomize2
com.alpden.stealthcam
lupo@gentoo-laptop temp % awk '{print $1}' test.txt
actionmenu
applist
apt
apt7
apt7-ssl
basic-cmds
berkeleydb
boerse.actionmenu-pluspack
boerse.appcake2
boerse.ipastore
boerse.repoicon
com.alexzielenski.zeppelin
com.alpden.abfix
com.alpden.asktosend
com.alpden.blocker
com.alpden.bulletin
com.alpden.dater
com.alpden.iap
com.alpden.infinidock
com.alpden.ischeduler
com.alpden.jukebox
com.alpden.manualcorrectpro
com.alpden.mobileterminal
com.alpden.repoprep
com.alpden.springtomize2
com.alpden.stealthcam
lupo@gentoo-laptop temp %
[/console]
#296494

выполнил - sed 's/[[:blank:]]*hold//' "/var/mobile/Media/general_storage/removemytweaks.txt"
не удалились (

#296495
"inux" написал:
не удалились (

Вы имеете в виду, что они остались в целевом файле?
Добавьте опцию -i к команде, тогда файл перепишется.

text

sed -i 's/[[:blank:]]*hold//' /var/mobile/Media/general_storage/removemytweaks.txt
#296496

спасибо!
так все работает - sed -i 's/[[:blank:]]*hold//' /var/mobile/Media/general_storage/removemytweaks.txt

Войдите или зарегистрируйтесь, чтобы ответить.