Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: zapis zmiennej do pliku  (Przeczytany 4343 razy)

thai1

  • Gość
zapis zmiennej do pliku
« dnia: 2017-04-17, 16:31:26 »
Jaka instrukcje napisac w bashu zeby zapisac string znajdujacy sie w  "zmienna1" do innego pliku ale zeby zapisywalo kazda litere w nowej lini?
« Ostatnia zmiana: 2017-04-17, 16:53:18 wysłana przez Thai »

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: zapis zmiennej do pliku
« Odpowiedź #1 dnia: 2017-04-17, 18:48:56 »
Możesz mi napisać w jaki sposób ty szukasz w google poradników ?

Ja robie to przykładowo tak:
bash zmienne
bash zapisywanie do pliku

Nie obraź sie, ale robie to celowo, bo mam wrażenie że znając podstawy użytkowania wyszukiwarki poradzisz sobie sam.
Generalnie jestem zdania że korzystając tylko z wyszukiwarki i poradników można pisać odrazu skrypty  bez znajomości tego języka.
Najpierw skrypty będą dość rozbudowane, z czasem nauczysz się zasad i z poradników jak je upraszczać.
Nie neguję że obędzie się bez pomocy, bo sam nie raz z pomocy korzystalem, ale chciałem podkreślić że
- bash jest prostym językiem
- masz dużo poradników
- możesz użyć prymitywne GUI ( gtkdialog , jad , dialog , zenity )
Zastrzeżeniem że
- Windows się do tego nie nadaje bo to generalnie na Linuxa jest stworzone. ( możesz używać Linuxa na virtualboxie )
- Większość poradników jest w języku angielskim, więc podstawy angielskiego znać też wypada, a reszte Ci pomoże google transaltor i wolontariusze.
 ( No chyba że wolisz płatne kursy, ja w to nie wnikam )

Nie wiem czemu Ci tak zależy na bash-u , ale jeśli jest to przyczyna czysto hobbystyczna i używasz tylko Windowsa to może zainteresuje Cię AutoIT
Z zastrzeżeniem że
- jest tylko na Windowsa
- i może na początku nie jest prosty, ale jak pojmiesz budowe większego skryptu, skąd bierzesz komendy i funkcje  oraz nauczysz się paru rzeczy to może stwierdzisz że jest to jeden z lepszych języków skryptowych na wspomnianą platforme. ( Myśle że jak ktoś by Ci pomógł to byś skrypty pisał już po 1 dniu nauki )
Oczywiście istnieją jezyki bardziej multiplatformowe które po których można znaleść pracę ( python, java, lua ) ale to też zależy od zastosowania,
lua jest używana ze względu na szybkość, python i java ze względu na zastosowanie bardziej internetowe.

PS: Jeśli Ci nie wychodzi to daj przykład jak to robisz, wtedy chętniej pomożemy, powiemy co było źle.
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

thai1

  • Gość
Odp: zapis zmiennej do pliku
« Odpowiedź #2 dnia: 2017-04-17, 19:41:02 »
Dzieki za odpowiedz. Chodzi o to:
#!bin/bash
zmienna1="misz"
zmienna2="masz"
echo "$zmienna1" > ~/"$zmienna2.sh
Stworzylo plik o nazwie stringu ze zmiennej2 i wlało tam string ze zmiennej1
Nie moge wymyslec co zrobic aby string ze zmiennej1 zapisac w pliku od góry do dołu...czyli po kazdej literze wstawiajac znak nowej linii.
moze jakas operacja na tablicy?
« Ostatnia zmiana: 2017-04-17, 19:45:35 wysłana przez Thai »

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: zapis zmiennej do pliku
« Odpowiedź #3 dnia: 2017-04-17, 20:50:44 »
1 . Mozesz użyć pętli

#!bin/bash

# zmienna
zmienna1="misz"


# Liczba znaków
aa=$(echo $[$(echo $zmienna1 | wc -m)-1])

# wc --help (powie wiecej)
# $[ ] (operacja matematyczna bo "misz" ma 4 znaki,a nie 5.




# petla for od od 1 do $aa
for i in `seq 1 $aa`
do

# wyswietlenie pierwszego znaku
ab=$(echo $zmienna1 | cut -c $i )


# zapisanie znaku do nowej zmiennej
ac=$( echo -e "${ac}\n${ab}"  )

done

# Wyswietlenie nowej zmiennej i usunięcie pustej lini, które tworzy echo.
 echo "$ac" | grep "\S"

2. Możesz jak ten gościu  http://stackoverflow.com/questions/9899049/placing-every-character-on-a-new-line
przykład w terninalu ( bez zapisywania do pliku )
$     zmienna_a=$(echo "misz" | sed 's/./&\n/g') ; echo "$zmienna_a"
m
i
s
z
Choć sed, awk do basha nie należą to się w bashu przydają.

3. Możesz   http://stackoverflow.com/questions/9531225/how-can-i-add-a-new-line-to-a-large-file-every-n-characters-in-terminal-one-lin
$       echo  "mania" | grep -oE '.{1}'
m
a
n
i
a
( tez bez zapisania do zmiennej czy pliku, jak chcesz do zmiennej to: zmienna=$(  ... ) )
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

thai1

  • Gość
Odp: zapis zmiennej do pliku
« Odpowiedź #4 dnia: 2017-04-17, 21:10:46 »
Dzięki wielkie za pomoc !

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.