Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: zapis zmiennej do pliku  (Przeczytany 4368 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: 2765
  • 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: 2765
  • 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: 2765
  • 1709
    • Zobacz profil
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.