Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi,

Ich habe ne programmierfrage. ich habe eine Datei wo z.b dies drinsteht: hallo.qotxx

ich würde gern die letzten beiden buchstaben ermitteln also z.b. hier "xx". der Inhalt der datei hat imemr die gleiche form: *.qot*

mi interessieren also genau die buchstaben nach qot.

hat einer eine idee wie man dies mit einem bashprogramm oder awkprogramm lösen kann?

danke schön.

den befehl rev kannte ich noch gar nicht. aber damit kann ich zumindest dann was zusammenbasteln was die felder ausgibt die ich brauche auch bei unterschiedlicher Länge.

danke nochmal

oder mit sed

echo "Hallo Welt" | sed 's/.*\(..\)/\1/'

da habsch gleich mal ne Frage. sed und awk ist doch was ähnliches oder sehe ich das vollkommen falsch?

Beides kann man dazu benutzen Text zu formatieren und zu bearbeiten.

sed mit Hilfe von Regulären Ausdrücken

awk mit seiner eigenen Skriptsprache.

Aber um mehr drüber sagen zu können fehlt mir das Wissen über awk. Wollte mich da immer schon mal einlesen, aber hab keine Zeit dazu.

Hab bisher alles mit sed+bash gelöst, falls das nicht gereicht hat kam perl zur Hilfe.

Falls du ne nette sed Hilfe brauchst, ich finde die Seite sehr übersichtlich: http://main.rtfiber.com.tw/~changyj/sed/

hey danke für den lnk. werdsch mir mal genauer anschauen wenn i genug zeit habe. ich habe bisher solche sachen mit awk gelöst und das werd ich nun auch wieder machen ...

ach so? und wie erkennt der an welchem Zeichen er schneiden soll?

der soll ja im prinzip am ab dem .qot sozusagen "abschneiden" unjd mit -2 sagt man ja das er die ersten zwei zeichen abschneiden soll nach rev oder versteh i das falsch?

Und wenn Du doch sed benutzen willst, sollte es so gehen...

sed -r 's/^.*\.qot([A-Za-z]{2}).*$/\1/' testdatei.txt

Ansonsten bitte ein paar mehr infos zum Aufbau der Dateien, z.B. mehrere Zeilen pro Datei?, wie viele Dateien?, Dateien per Wildcard selektierbar?...

Warum sed und awk benutzen, wenn das die Bash sowieso kann? *grins*

fn=hallo.qotxx


length=${#fn}

lminus2=$(($lenght - 2))

fn_without2=${fn:0:lminus2}

last2chars=${fn:lminus2:length}


echo $fn

echo $fn_without2

echo $last2

also ich habe es jetzt über awk gelöst. ist zwar extrem unelegant und umständlich programmiert da hinter "qot" nur maximal 5 zeichen stehen dürfen, ist aber egal da es eigentlich normalerweise nie mehr als 2 oder drei zeichen sind zumal man das schnell und einfach erhöhen kann. naja ahuptsache es funktioniert

als detailliertere info: diese Dateien *.qot* sind in einem verzeichnis und es können eine oder mehrere Dateien sein und i muß halt je nachdem viele Dateien es sind die endungen haben.

if [ `ls $1.qot* |wc -l` == 0 ]

then

echo -e "Es wurden keine Dateien gefunden"

else

ls $1.qot* > qquot1

fi

cat qquot1 |rev |gawk 'BEGIN {FS=""}{if($5 == "."){print $1}; if($6 == "."){print $2$1};if($7 == "."){print $3$2$1};if($8 == "."){print $4$3$2$1};if($9 == "."){print $5$4$3$2$1}}'

Wieso einfach wenns umständlich auch geht *fg*

naja ich bin noch ni so nen programmierguru sage ich mal und da habsch dann nachdem hinweis mit "rev" einfach versucht mir was zusammen zubasteln und bin stolz das das was ich da gebastelt habe funktioniert. :)

Danke trotzdem für eure Hilfen. werde auch die anderen Lösungen testen und schauen und verstehen wie die funktionieren und vielleicht schaff i es ja auch ma zu testen und rauszufinden welche lösung am schnellsten funktioniert in der Abarbeitung.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.