Sziasztok!
Ötleteket várnék:
Van két fájlom, az egyikbe 2 betűs sorok vannak vannak, a másikba több betűs sorok vannak. mind a két fájl azonos a sorszám. A kérdés az, hogy a két fájlt akarom úgy össze fűzni, hogy az első fájlom első betűje a második fájlom elejére kerüljön, majd az első fájl második betűje a második fájl utolsó betűje legyen, ezt hogy tudnám megoldani?
köszönöm
- 6124 megtekintés
Hozzászólások
Itt nem szeretünk házifeladatokat megoldani, mert abból nem tanulsz. Ebből viszont igen:
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Nem biztos, hoyg hazifeladat. En is mar futottam bele hasonloba es nagyon jol jott a segitseg Zahytol (fel is kell elevenitenem a join/paste parancsokat, azota sem hasznaltam)
Az ember akkor is tanul, ha utana megnezi, hogy hogyan mukodik a megoldas.
- A hozzászóláshoz be kell jelentkezni
Egyetértek, mindenképp hasznos volt ez a topic.
- A hozzászóláshoz be kell jelentkezni
Ha csak bash-t szabad használni akkor pl.
while read f1 <&7 ; do
read f2 <&8
echo ${f1:0:1} ${f2} ${f1:1:1}
done 7< file1.txt 8< file2.txt
--
maszili
- A hozzászóláshoz be kell jelentkezni
Ejnye! Most ebből mit fog szerinted tanulni? Mivel már mindegy, így leírom, én hogyan csináltam:
#!/bin/bash
file1='file1'
file2='file2'
outfile='result.txt'
exec 3<"$file1"
while read center; do
read <&3
echo "${REPLY:0:1}$center${REPLY:1:1}"
done <"$file2" >"$outfile"
exec 3>&-
exit 0
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Google translate?
--
The Wikipedia blackout is over. At last we can now find out what SOPA is.
- A hozzászóláshoz be kell jelentkezni
Ez hogy jön ide?
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Van két fájlom, az egyikben 2 betűs sorok vannak vannak, a másikban több betűs sorok vannak. Mind a két fájlban azonos a sorok száma. A kérdés az, hogy a két fájlt akarom úgy összefűzni, hogy az első fájlom első betűje a második fájlom elejére kerüljön, majd az első fájl második betűje a második fájl utolsó betűje legyen.
A kérdés az, hogy ezt hogy tudnám megoldani?
--
The Wikipedia blackout is over. At last we can now find out what SOPA is.
- A hozzászóláshoz be kell jelentkezni
Grammarnazi powa...
-------------------------
127.0.0.1 SWEET 127.0.0.1
AMD Athlon X2 245E@3,1 GHz OC, MSI Radeon 6770 1 Gb GDDR5, Seagate Barracuda, Windows 7 Enterprise
- A hozzászóláshoz be kell jelentkezni
Kisebb hibakra ritkan reagalok, de most a 2. mondat (?) utan kiakadt a parserem. Mondjuk nem volt olyan durva, mint Tomcsi1987 winyofustolo topicja, szoval vannak durvabbak is.
--
The Wikipedia blackout is over. At last we can now find out what SOPA is.
- A hozzászóláshoz be kell jelentkezni
Tudom, azt néztem én is :D Fun volt, az egyszer biztos.
-------------------------
127.0.0.1 SWEET 127.0.0.1
AMD Athlon X2 245E@3,1 GHz OC, MSI Radeon 6770 1 Gb GDDR5, Seagate Barracuda, Windows 7 Enterprise
- A hozzászóláshoz be kell jelentkezni
Ez nekem kimaradt!
Be tudnátok linkelni azt a topicot? lécci lécci!
- A hozzászóláshoz be kell jelentkezni
Igazad van, ilyen aspektusból nem vizsgáltam a kérdést. :)
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
csoda, hogy a fo nyelvtannyilas Tibyke meg nem ert ide ;)
- A hozzászóláshoz be kell jelentkezni
A sokszínűség kedvéért:
cut -c1 file1.txt > fc1
cut -c2 file1.txt > fc2
paste -d "" fc1 file2.txt fc2 > kimenet.txt
rm fc1 fc2
- A hozzászóláshoz be kell jelentkezni
nekem jobban is tetszik ez a megoldas, ilyesmi is volt egybol a fejemben
- A hozzászóláshoz be kell jelentkezni
köszönöm, ez lett a legjobb/egyszerübbb megoldás,
még1x köszi
- A hozzászóláshoz be kell jelentkezni
legalább ne átmneti fájlba rakd, hanem változóba, hogy ne kerregtesse a diszket!
- A hozzászóláshoz be kell jelentkezni
Szerintem meg ez a jó megoldás. Változóban néhány milliárd sor fölött csúnyán swap-elni fog a gép. File-ba írva szerintem nem is nagyon jut az tovább a disk cache-nél, ha elfogyna a RAM, akkor igen, de akkor ez nem is baj.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
jogos, valamiért kutyafuttában azt gondoltam, hogy minden sorra lefut 2 db cut, és ciklusban történik.
- A hozzászóláshoz be kell jelentkezni
miert jobb neked, hogy keves phy ram eseten filesystem formatumban formazott diszkre irja ki, minthogy memoriaformatumban swapra?
A mostani filerendszerek journalozottak, a swap nem; a journaling miatt a filerendszer kiiras tobb IO muvelettel jar, mint a swapba kiiras.
jo, csak leirtam. Napi 10 ilyennel talalkozom, hogy jajj, csak memoriat ne egyunk. Pedig az azert van.
- A hozzászóláshoz be kell jelentkezni
Filerendszeren több hely szokott lenni, mint amekkora a swap.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
:-)
ha /dev/sda2 -ot filerendszernek formazod, akkor miert lesz a rajta tobb hely, mint ha ugyanezt swapnak rekod fel?
- A hozzászóláshoz be kell jelentkezni
Azért az eseményszámba menne, ha vki az általános célú fájlrendszereivel összemérhető nagyságú swapot hozna létre általában, és az sem kevésbé volna rendkívüli, ha másvalaki direkte egy szkript kedvéért faragná át ilyenre a lemezét.
Azt persze nem mondom, hogy a lehetetlen eseménnyel esik egy tekintet alá...
- A hozzászóláshoz be kell jelentkezni
Nem látom célszerűnek. Ha a kernelnek swap-elnie kell, akkor futás közben, az aktuális memóriafoglalások miatt kell valamit kilapoznia, ha a kilapozott process hozzá akar férnie a dolgaihoz, akkor azt visszatölteni. Ez így jelentős lassulást okoz, bár a rendszer legalább működőképes marad.
tr [:lower:] [:upper:] <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Demonstrációs célra álljon itt egy g(!)awk-féle megoldás is:
gawk -vFIELDWIDTHS="1 1" '{ c1=$1; c2=$2; getline < "f2"; print c1 $0 c2}' f1
- A hozzászóláshoz be kell jelentkezni
Nekem is lenne egy kérdésem a témában:
Ebben a feltételben mi lehet a hiba?
while [[ ! -f $file || ! -h $file ]]
- A hozzászóláshoz be kell jelentkezni
Az mindenképpen, hogy a $file nincs idézőjelben.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Egyébként ez mindig true. Ha nem reguláris file, akkor azért, ha meg reguláris file, akkor meg azért, mert nem symlink. És a kör bezárult. :)
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nem mindig! Probald ki a file=/dev/sda eseten.
Toni
- A hozzászóláshoz be kell jelentkezni
file='/dev/sda'; [[ ! -f "$file" || ! -h "$file" ]]; echo $?
0
Ez se nem reguláris file, se nem symlink, így mindkét tag true, azok vagy kapcsolata is true.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Helyesen azt hiszem így lenne, ugye:
while [[ ! -f "$file" && ! -h "$file" ]]
- A hozzászóláshoz be kell jelentkezni
Ha esetleg szóban megfogalmaznád, mit szeretnél, akkor rábökném, hogy igen, vagy nem. :)
Így ugye minden nem reguláris és nem symlink file-ra marad a ciklusban. Tehát socket, directory, effélék. Olyan symlink-re, amelyik directory-ra mutat, szintén nem hajtódik végre a ciklus.
Ami a megfogalmazást illeti, így is lehet:
while [ ! -f "$file" -a ! -h "$file" ]; do
Vagy:
while ! [ -f "$file" -o -h "$file" ]; do
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Igaz, az lemaradt. :) Addig kellene a ciklusban maradnia, amíg nem fájlt vagy symlinket kap.
- A hozzászóláshoz be kell jelentkezni
Egy nagyobb feladat elkezdéséhez szeretnék kérni egy kis ötletbeli segítséget.
Egy szövegben elgépelt szavakat kellene keresni egy szótár fájl segítségével. Ha a szótárban nem szerepel a szó meg kell nézni, hogy a szó betűinek változtatásával kapunk e a szótárban már szereplő szót. Főleg ez utóbbi rész a kérdéses még.
Nem a feladat megoldását kérném, csak egy kis segítséget az elindulásban. Előre is köszönöm!
- A hozzászóláshoz be kell jelentkezni
Regexp: én azzal próbálkoznék, hogy a szótárfájlban szereplő szavak betűit sorban lecserélném vagy pontra, vagy valami hasonló helyettesítő megoldásra ([a..z], ilyesmi), és ezzel gyártanék egy új szótárfájlt. Ám ez brutális erőforrást ehet már egy közepes szótár mellett is.
Fuzzy keresés: a lucene tud ilyet, ám fogalmam sincs, hogy erre a problémára hogy lehet beidomítani.
- A hozzászóláshoz be kell jelentkezni
gugli: agrep - az pont erre van kitalálva, tudtommal nyílt forráskódú, úgyhogy lehet tippeket lopni.
- A hozzászóláshoz be kell jelentkezni
Levenstein tavolsag. PHP-ban van beepitett fuggveny ra (meg van ra regexp is, meg tud kezelni a szotarhoz db-t).
Bar minden szoparra lehet, hogy lassu meghivni, ha hosszu a szoveg..
--
In truly successful relationships...
no one wears the pants.
- A hozzászóláshoz be kell jelentkezni
Dátumoknál(illetve úgy általában) mit jelent a space padded formátum?
- A hozzászóláshoz be kell jelentkezni
Bevezető nullák helyett bevezető szóközök töltik fel L hosszra az L-nél rövidebb értékeket.
Pl. 2012.03.05 helyett 2012. 3. 5
- A hozzászóláshoz be kell jelentkezni
Általánosabban megfogalmazva a padding adott hosszra feltöltést, kiegészítést jelent. Számoknál általában a nulla használható értékváltozás nélkül, stringeknél a szóközt szokták hsználni erre a célra:
0011
0003
0999
A
BBBB
CC
Mielőtt még valaki megkérdezi, hogy mi az a zero padding.
- A hozzászóláshoz be kell jelentkezni