Nalezení a zkopírování celého řádku

Nalezení a zkopírování celého řádku
« kdy: 30. 12. 2020, 18:11:04 »
Měl bych dotaz zda je možné vyhledat konkrétní slovo v textovém souboru a poku ho najde tak aby se skopíroval celý řádek a vložil pod něj.

Příklad:
aaa1
ccc111
aaa2
ccc222
aaa3
ccc333
aaa4
ccc444

Budu hledat "ccc" > zkopíruje celý řádek co našel a vloží pod něj.

Výsledek:
aaa1
ccc111
ccc111
aaa2
ccc222
ccc222
aaa3
ccc333
ccc333
aaa4
ccc444
ccc444

Nevím zda to snadno je vůbec možné. Hledat nahradit nelze použít jelikož nevím co je dál za hledaným slovem.


Kit

  • *****
  • 704
    • Zobrazit profil
    • E-mail
Re:Nalezení a zkopírování celého řádku
« Odpověď #1 kdy: 30. 12. 2020, 18:24:08 »
Kód: [Vybrat]
sed -e '/ccc/p' <data.txt

mhi

  • *****
  • 500
    • Zobrazit profil
Re:Nalezení a zkopírování celého řádku
« Odpověď #2 kdy: 30. 12. 2020, 18:24:50 »
s/^(.*slovo.*)$/$1\n$1/g

 - neco na tento zpusob? Nutno upravit syntaxi pro konkretni regexp.

Re:Nalezení a zkopírování celého řádku
« Odpověď #3 kdy: 30. 12. 2020, 19:49:06 »
Kód: [Vybrat]
sed -e '/ccc/p' <data.txt

Téééda moc děkuji funguje to fantasticky. Ani netušíte kolik dní práce jste mi ušetřil.

Jen jsem dopsal výstup do nového souboru
Kód: [Vybrat]
sed -e '/ccc/p' <data.txt > data2.txt

Re:Nalezení a zkopírování celého řádku
« Odpověď #4 kdy: 31. 12. 2020, 00:57:47 »
Já osobně (shellem tolik nevládnu) bych si na to vyrobil skriptík v pythonu