Porovnání souborů a uložení výsledku

Re:Porovnání souborů a uložení výsledku
« Odpověď #15 kdy: 27. 03. 2021, 17:36:55 »
Nemyslel jsem v rámci oficiální výuky (to by bylo skvělé kdyby se základy Linuxu učily už na základce), ale myslel jsem v rámci nějakého IT/programovacího kroužku.
Aha, tak to samozřejmě, já se přesně takhle (včetně výuky regexpů atd.) stal někdy v 7. třídě ZŠ linuxákem - http://stv.cz/.

Je to domaci ukol z predmetu Uvod do Unixu. Mam sadu ukolu a tento ukol je jeden z nich. Po provedeni prislusnych prikazu, na konci pro odevzdani je treba napsat prikaz ./odevzdani.sh

Tak to asi bude chyba někde cestou - při té úpravě, nebo špatně rozumíš zadání (jestli má být ten rozdíl první proti druhému nebo druhý proti prvnímu například). Nebo požadují nějakou specifickou GNU syntaxi a na macOS jsou jiné utility :). Klidně sem pošli celé zadání, obecně máme problém když to někdo chce celé vypracovat, ale tohle je ladění jedné věci.

Pravo na editaci/citani nemam.
To je divné, protože pro shellové skripty musí mít uživatel právo čtení, protože je interpretuje „jeho“ shell. Ale možná že ten skript ve skutečnosti odešle úkol někam po síti a zpátky se mu vrátí chyby.

Zadani: V prázdném adresáři spusťte ~nikl/hw2/zadani.sh. Zobrazí se zadání úkolů odpovídající bodům 8-12. Pro zobrazení zadání znovu zadejte ./zadani.sh. Pro kontrolu správnosti použijte ./odevzdani.sh.

Tohle je jeden z tech ukolu:

Porovnejte soubory ukol5src a ukol5mod a rozdíl uložte do soubor
ukol5 (použijte výchozí formát příkazu).

PS: Nemyslim,ze by to nejak souvislo se utilitou. V predchozim du vsechno probehlo v poradku.

Problem je,jak jiz bylo zmineno, pravdepodobne v prazdnem radku na konci souboru.

folder1$ cp ukol5src ukol5mod
folder1$ nano ukol5src
folder1$ diff ukol5src ukol5mod
1c1
< ahoj
---
>
folder1$ diff ukol5src ukol5mod > ukol5

folder1$ ./odevzdani.sh

Nevite prosim nahodou, jak se da zbavit prazdneho radku?

Predem dekuji



Re:Porovnání souborů a uložení výsledku
« Odpověď #16 kdy: 27. 03. 2021, 17:43:14 »
Bohužel naprostý nedostatek informací.

Problem je,jak jiz bylo zmineno, pravdepodobne v prazdnem radku na konci souboru.

folder1$ cp ukol5src ukol5mod
folder1$ nano ukol5src
folder1$ diff ukol5src ukol5mod
1c1
< ahoj
---
>
folder1$ diff ukol5src ukol5mod > ukol5

folder1$ ./odevzdani.sh

Nevite prosim nahodou, jak se da zbavit prazdneho radku?

Predem dekuji

Re:Porovnání souborů a uložení výsledku
« Odpověď #17 kdy: 27. 03. 2021, 17:58:04 »
Zdar,
ako vzniknu subory ukol5src a ukol5mod?
man diff -> ignore blank lines -> parameter -B
Skusil by som este prehodit argumenty diffu - najprv modifikovany subor a potom povodny.
Co povie
Kód: [Vybrat]
cat ./odevzdani.sh

Re:Porovnání souborů a uložení výsledku
« Odpověď #18 kdy: 27. 03. 2021, 20:24:27 »
Zdar,
ako vzniknu subory ukol5src a ukol5mod?
man diff -> ignore blank lines -> parameter -B
Skusil by som este prehodit argumenty diffu - najprv modifikovany subor a potom povodny.
Co povie
Kód: [Vybrat]
cat ./odevzdani.sh
Bohužel naprostý nedostatek informací.
Zdar,
ako vzniknu subory ukol5src a ukol5mod?
man diff -> ignore blank lines -> parameter -B
Skusil by som este prehodit argumenty diffu - najprv modifikovany subor a potom povodny.
Co povie
Kód: [Vybrat]
cat ./odevzdani.sh

Zkusil jsem prikaz grep -v ',$' > file1 pro smazani prazdne radky. Prazdne radky uz nejsou, ale nejde mi stejne odevzdat. 

folder1$ grep -v ',$' > ukol5src
^C
folder1$ diff ukol5src ukol5mod
0a1
>
folder1$ cp ukol5src ukol5mod
folder1$ nano ukol5src
folder1$ diff ukol5src ukol5mod
1d0
< ahoj
folder1$ diff ukol5src ukol5mod > ukol5
folder1$ cat ukol5
1d0
< ahoj
foder1$ ./odevzdani.sh

Re:Porovnání souborů a uložení výsledku
« Odpověď #19 kdy: 27. 03. 2021, 21:40:51 »
diff nabízí i další volby:
context mode
Kód: [Vybrat]
diff -c ukol5src ukol5mod
unified mode
Kód: [Vybrat]
diff -u ukol5src ukol5mod
takže záleží v jakém formátu máš ten výsledek odevzdat.


Re:Porovnání souborů a uložení výsledku
« Odpověď #20 kdy: 27. 03. 2021, 22:07:13 »
diff nabízí i další volby:
context mode
Kód: [Vybrat]
diff -c ukol5src ukol5mod
unified mode
Kód: [Vybrat]
diff -u ukol5src ukol5mod
takže záleží v jakém formátu máš ten výsledek odevzdat.

na formatu nezalezi, resp.nic takoveho v zadani neuvadi. 

Re:Porovnání souborů a uložení výsledku
« Odpověď #21 kdy: 27. 03. 2021, 22:58:27 »
Asi by nám všem moc pomohl výstup toho ověřovacího skriptu. Pokud můžeš skript pouštět, můžeš jej také číst (třeba pomocí příkazu cat). Pošli nám, prosím, výstup cat odevzdani.sh. Nebo nám ten soubor pošli v příloze. Popravdě je v tom reprodukovaném zadání trochu zmatek.

Re:Porovnání souborů a uložení výsledku
« Odpověď #22 kdy: 28. 03. 2021, 22:43:35 »
Asi by nám všem moc pomohl výstup toho ověřovacího skriptu. Pokud můžeš skript pouštět, můžeš jej také číst (třeba pomocí příkazu cat). Pošli nám, prosím, výstup cat odevzdani.sh. Nebo nám ten soubor pošli v příloze. Popravdě je v tom reprodukovaném zadání trochu zmatek.

Zdravim, tady je vystup cat odevzdani.sh

[raman] Du2$ cat odevzdani.sh
#!/bin/bash

TEST_DIR="$(dirname $(readlink -f ${BASH_SOURCE[0]}))" # adresar se skripty
CURRENT_DIR="$(pwd -P)" # pracovni slozka uzivatele
RESULT_EXEC="${TEST_DIR}/result-$(uname -m)"

# Zkontroluj existenci programu pro zapis vysledku
if ! [ -x ${RESULT_EXEC} ]
then
   echo "nemuzu nalezt program pro ulozeni vysledku"
   exit 1
fi

# Vyhodnot test

$RESULT_EXEC
STATUS=$?

if [ $STATUS -ge 2 ]
then
   echo "neco se pokazilo"
   exit 1
fi
[raman] Du2$

_Jenda

  • *****
  • 1 550
    • Zobrazit profil
    • https://jenda.hrach.eu/
    • E-mail
Re:Porovnání souborů a uložení výsledku
« Odpověď #23 kdy: 29. 03. 2021, 01:25:34 »
Tohle musí být trolling, takhle neuvěřitelně clueless nikdo nemůže být.

Ale můžete mi někdo vysvětlit, jak mu může fungovat ta vyhodnocovací binárka, která asi bude přeložená pro Linux, na macOS? Tam je nějaká automatická překladová vrstva?!

Nebo „Ukol je spusten na Terminalu v MacOsu.“ znamená že tam má SSH session na linuxový stroj?  ::)  ::)  ::)

Ne, sorry, prostě se nikam nepohneme bez 1) kompletního adresáře včetně přípravných a  vyhodnocovacích programů, 2) kompletního zadání.
« Poslední změna: 29. 03. 2021, 01:30:45 od _Jenda »