Fórum Root.cz

Hlavní témata => Software => Téma založeno: jednoduché zdání shellu 29. 05. 2018, 23:04:24

Název: Editace víceřádkového příkazu v shellu
Přispěvatel: jednoduché zdání shellu 29. 05. 2018, 23:04:24
Zdar, hledám způsob jak do shellu vložit text, který třeba omylem obsahuje řádek navíc a  který pak můžu v tom shellu umazat
( napříklat kopíruji z "wordového" dokumentu nebo ze stránky, takže předem nevidím, že jsem označil i znak nového řádku) a chtěl bych se následně rozhodnout že nejen že smažu znak nového řádku, ale třeba i něco z konce

Ten text přijde jako argument nějakého příkazu, například wget

Aby to pochopili i největší hardcore linuxáci dávám příklad:

1 Označím text  (všimněte si neviditelného znaku nového řádku)
Kód: [Vybrat]
http://site.com/info#utm_magor=kolotoč
(Zatím, nevím, že jsem omylem označil i omylem nový řádek)

2. mám otevřen bash a mám rozepsaný příkaz
Kód: [Vybrat]
wget " chystám se dát ctrl V a uvozku a Enter.
(2volitelně 2b: rozhodnu se do wgetu předat jen "http://site.com#utm_source=nic", tedy kus odmazat a kousek přidat)
3. Jenže mě nachytá na švestkách
Kód: [Vybrat]
já:~ user$
sh-3.9# wget "http://site.com#utm_magor=kolotoč
> _
Bohužel backspace už nemůže umazávat "dál" než chci a tedy nepustím mě na řádek výš.

CO s tím? Nerad bych skončil s nějakýma šoumonivnama jako IFS= Nebo příkazem read nebo cat | wget nebo <<EOF

Opakuji opět jednoduchost a prostost problému. Píšu příkaz wget " Pomocí Ctrl V chci vložit text, který omylem třeba má více řádků nebo znak CRLF navíc. Chtěl bych pomocí Backspace umazat tento znak (+ případně něco z konce url ještě) a zakončit uvozovkou a entrem.
Půjde to?

PS Opravdu je nutné neustále souhlasit?s "Souhlasím se zpracováním osobních údajů (https://www.iinfo.cz/osobni-udaje/) za účelem zapojení se do diskuse na fóru."

Dokonce je nutné potvrzovat  "Souhlasím se zpracováním osobních údajů (https://www.iinfo.cz/osobni-udaje/) za účelem zapojení se do diskuse na fóru." i o odeslání náhledu a znovuodeslání
nebo jenutné souhlas dávat s ' "Souhlasím se zpracováním osobních údajů (https://www.iinfo.cz/osobni-udaje/) za účelem zapojení se do diskuse na fóru."' při chybně vyplněném nějakém údaji formuláře?
Název: Re:Jak do shellu vložit text smožnoí umazat řádky
Přispěvatel: x14 29. 05. 2018, 23:46:48
Překlad: "Nevíte někdo, jak vkládat do terminálu text se znaky LF, aby to byla jedna řádka, respektive, aby šla před spuštěním ještě upravit?"
Název: Re:Jak do shellu vložit text smožnoí umazat řádky
Přispěvatel: x14 30. 05. 2018, 00:22:46
Vím, že toto https://stackoverflow.com/a/33059422 (https://stackoverflow.com/a/33059422) není to, co sis představoval, ale někomu by se to mohlo hodit.
Citace
If you press C-x C-e command that will open your default editor which defined .bashrc, after that you can use all powerful features of your editor. When you save and exit, the lines will wait your enter.

If you want to define your editor, just write for Ex. EDITOR=emacs -nw or EDITOR=vi inside of ~/.bashrc
Název: Re:Jak do shellu vložit text smožnoí umazat řádky
Přispěvatel: Kit 30. 05. 2018, 00:51:41
Vím, že toto https://stackoverflow.com/a/33059422 (https://stackoverflow.com/a/33059422) není to, co sis představoval, ale někomu by se to mohlo hodit.

Myslím si, že uvedená kombinace Ctrl-x Ctrl-e je ta správná kombinace, která řeší zmíněný problém.
Název: Re:Editace víceřádkového příkazu v shellu, emacs to zabil
Přispěvatel: zdání shellu emacs 30. 05. 2018, 12:22:56
to je nějaká ruská ruleta nebo generátor hlášek linuxu nebo testovač stisknnutých kláves?(podle Ctrl+Z jde o EMO EMACS) S tímto operačním systémem neumím. Chtěl jsem jen potvrdit text po vložení. Jde to nějak upravit na nano nebo TextEdit?
Modified buffers exist; exit anyway? (yes or no)
Please answer yes or no.
You have typed C-x C-n, invoking disabled command set-goal-column.
Type y, n, ! or SPC (the space bar):
C-c-
M-RET is undefined
Kill ring is empty
-uu-:**-F1  bash-fc-1527703054   All L11    (Fundamental)----
ESC C-b
Goal column 19 (use C-x C-n with an arg to unset it)
Not defining or executing kbd macro
ESC ESC-

1. man emacs : nenašel jsem nápovědu k ukončení programu (/exit , /quit)
2. jak ukončit emacs
3. jak změnit CtrlXE na jiný editor?
4.NeSouhlasím se zpracováním osobních údajů (https://www.iinfo.cz/osobni-udaje/) . Už je to otravné
Název: Re:Editace víceřádkového příkazu v shellu
Přispěvatel: x14 30. 05. 2018, 12:40:29
No to je hlína. OK, tak já to tedy volně přeložím  :) :) :) :)

Když stisknete C-x C-e, otevře se výchozí editor, který definuje .bashrc, pak můžete použít všechny funkce editoru. Když to uložíte a ukončíte, text bude připraven na řádce. Vlastní editor je možno nadefinovat v ~/.bashrc, stačí tam připsat na konec:
EDITOR = emacs -nw
nebo třeba
EDITOR = vi
Název: Re:Editace víceřádkového příkazu v shellu, emacs to zabil
Přispěvatel: gll 30. 05. 2018, 12:46:32
1. man emacs : nenašel jsem nápovědu k ukončení programu (/exit , /quit)
2. jak ukončit emacs

to neřeš. Raději odinstaluj emacs.

3. jak změnit CtrlXE na jiný editor?

export EDITOR=jinyeditor
Název: Re:Editace víceřádkového příkazu v shellu, emacs to zabil
Přispěvatel: Lol Phirae 30. 05. 2018, 12:51:46
2. jak ukončit emacs

Rebootováním.  8)

Kód: [Vybrat]
P.S. NEsouhlasím se zpracováním nepotřebných osobních údajů, zejména v rozsahu debilního checkboxu na fóru.