Editace víceřádkového příkazu v shellu

jednoduché zdání shellu

Editace víceřádkového příkazu v shellu
« kdy: 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ů za účelem zapojení se do diskuse na fóru."

Dokonce je nutné potvrzovat  "Souhlasím se zpracováním osobních údajů 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ů za účelem zapojení se do diskuse na fóru."' při chybně vyplněném nějakém údaji formuláře?
« Poslední změna: 30. 05. 2018, 07:50:43 od Petr Krčmář »


x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Jak do shellu vložit text smožnoí umazat řádky
« Odpověď #1 kdy: 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?"

x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Jak do shellu vložit text smožnoí umazat řádky
« Odpověď #2 kdy: 30. 05. 2018, 00:22:46 »
Vím, že toto 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

Kit

Re:Jak do shellu vložit text smožnoí umazat řádky
« Odpověď #3 kdy: 30. 05. 2018, 00:51:41 »
Vím, že toto 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.

zdání shellu emacs

Re:Editace víceřádkového příkazu v shellu, emacs to zabil
« Odpověď #4 kdy: 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ů . Už je to otravné


x14

  • ***
  • 182
    • Zobrazit profil
    • E-mail
Re:Editace víceřádkového příkazu v shellu
« Odpověď #5 kdy: 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

gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Editace víceřádkového příkazu v shellu, emacs to zabil
« Odpověď #6 kdy: 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

Lol Phirae

Re:Editace víceřádkového příkazu v shellu, emacs to zabil
« Odpověď #7 kdy: 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.