Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 1
» Neuestes Mitglied: Joopi
» Foren-Themen: 373
» Foren-Beiträge: 493

Komplettstatistiken

Benutzer Online
Momentan sind 10 Benutzer online
» 0 Mitglieder
» 5 Gäste
AhrefsBot, Bing, Bytespider, Semrush, bot

Aktive Themen
Saturday - 02:00 CDT: Par...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 5 Stunden
» Antworten: 0
» Ansichten: 1
Friday - 11:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 08:43
» Antworten: 0
» Ansichten: 4
Antiheimwerker und TE-PS ...
Forum: Antiheimwerker
Letzter Beitrag: Joopi
Gestern, 07:24
» Antworten: 0
» Ansichten: 0
Antiheimwerker und Einhel...
Forum: Antiheimwerker
Letzter Beitrag: Joopi
Gestern, 07:19
» Antworten: 0
» Ansichten: 0
Friday - 10:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 07:18
» Antworten: 0
» Ansichten: 4
Monday - 12:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
22-04-2024, 08:37
» Antworten: 0
» Ansichten: 17
Sunday - 11:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
21-04-2024, 08:27
» Antworten: 0
» Ansichten: 13
Sonnenfinsternis am 08.04...
Forum: Fotografie
Letzter Beitrag: Joopi
21-04-2024, 03:20
» Antworten: 0
» Ansichten: 14
Sunday - 06:00 CDT: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
21-04-2024, 03:05
» Antworten: 0
» Ansichten: 12
Der Mond am Nachthimmel
Forum: Fotografie
Letzter Beitrag: Joopi
21-04-2024, 03:00
» Antworten: 0
» Ansichten: 12

 
  Input von der Konsole aufnehmen
Geschrieben von: Joopi - 06-01-2023, 10:44 - Forum: Programmieren - Keine Antworten

Das folgende Script ist ein einfaches Programm, um eine Eingabeaufforderung an den User zu senden, einen Wert zu erwarten, um diesen dann wieder auszugeben.

Die Funktion chomp entfernt den Zeilenumbruch, der durch Enter bei der Eingabe des Wertes mitgesendet wird.

Code:
#!/usr/bin/perl -w

#****************************************************************************************
# Dateiname: perl_test2.pl
# Datum: 28.07.2021
#
# Dieses Script nimmt eine Eingabe auf der Konsole entgegen, trimmt den Wert, der in die
# Variable übernommen wurde, mit chomp (wegen dem Zeilenumbruch) und gibt das Ergebnis
# dann auf der Konsole aus.
#
#****************************************************************************************

use strict;
use warnings;

# Verzeichnis - in diesem Script eigentlich nicht notwendig, da keine Dateioperationen vorgenommen werden.
my $pfad = '/home/none/help/help5/temp';

# Sofort in den Arbeitsordner wechseln.
chdir($pfad."/");

print "Your name please: ";
my $name = <STDIN>;
chomp $name;

print "Your name is '$name'\n";

Tastatureingaben können also recht einfach aufgenommen und verarbeitet werden.

Drucke diesen Beitrag

  Mailadresse finden mit REGEX
Geschrieben von: Joopi - 06-01-2023, 10:41 - Forum: Programmieren - Keine Antworten

In einem kleinen Projekt muss ich in der Lage sein, aus einer Textdatei, hier speziell einer mbox-Datei, die enthaltenen Mailadressen erkennen und separieren zu können.

Das nachfolgende Script hat mir geholfen, die Aufgabe zu erledigen und die Mailadressen anzeigen zu lassen.

Code:
#!/usr/bin/perl -w

# Es werden nicht immer alle Mailadressen gefunden, die in der Textdatei enthalten sind.

use strict;
use warnings;

my $email_count;
my $dateiname = "/home/none/help/help5/temp/1.mbox";

# Die mbox-Datei wird im handle IN geöffnet.

open IN, "<".$dateiname or die "can't open $dateiname: $!";

while (my $line = <IN> )
{ #read from file or STDIN
 
  foreach my $email (split /\s+/, $line)
  {
   
    if ( $email =~ /^[-\w.]+@([a-z0-9][a-z-0-9]+\.)+[a-z]{2,4}$/i )
    {
         print $email . "\n";
         $email_count++;
    }
  }
}

print "Emails Extracted: $email_count\n";

Die gefundenen Mailadressen können nun weiterverwendet werden. Es gibt aber noch eine Fehlfunktion, die ich mir noch nicht erklären kann. Es werden leider nicht immer alle Mailadressen gefunden, die enthalten sind. Warum das so ist, habe ich noch nicht erkennen können.

Drucke diesen Beitrag

  ffmpeg - Infos zu Video und Bild
Geschrieben von: Joopi - 06-01-2023, 10:35 - Forum: Programmieren - Keine Antworten

Bild nur mit Vorgabe der Breite (im Verhältnis ohne Höhe) resizen (und ggfs. in ein anderes Format konvertieren)

Code:
ffmpeg -i  test.jpg -vf scale=1024:-1 /kleiner/test.jpg

Das resizete Bild wird im Ordner */kleiner* abgelegt. Dieser Ordner muss vorhanden sein.






Ausmaße eines Bildes ermitteln (Breite und Höhe)

Code:
ffprobe -v error -select_streams v:0 -show_entries stream=width oder height oder width,height -of csv=xp=0 test.jpg







Größe der Bilddatei ermitteln

Code:
ls -l test.jpg | awk '{ print $5 }'


$10 anstatt $5 wäre der Dateiname.

oder

Code:
ffprobe -v error -show_entries format=size -f default=noprint_wrapper=1:nokey=1 test.jpg

In dieser Schreibweise wird nun der Wert ausgegeben, aber der Tag vorangestellt.

---

Alle Informationen zu Video- oder Bilddateien

Code:
ffprobe -v error -show_format -show_streams test.jpg

[FORMAT]=> size; also Größe
[STREAM]=> width und height; also Breite und Höhe

Drucke diesen Beitrag

  Befehl für Bios und Hardware
Geschrieben von: Joopi - 06-01-2023, 10:31 - Forum: Programmieren - Keine Antworten

Es ist immer wichtig zu wissen, welche Hardware genutzt wird. Auch macht es Sinn, mehr über das BIOS, welches verwendet wird, zu wissen. Mittels einiger Shell-Befehle, können diese Informationen ermittelt und dargestellt werden. Teilweise sind die Ausgaben sehr lang, daher werde ich hier nur die Befehle auflisten (teils müssen diese mit sudo eingeleitet werden):

  • lscpu
  • lshw -short (musste nachinstalliert werden)
  • sudo hwinfo --short (musste nachinstalliert werden)
  • lspci
  • lsscsi (musste nachinstalliert werden)
  • lsusb
  • inxi -FS
  • lsblk
  • df
  • Pydf (habe ich nicht installiert)
  • fdisk
  • mount
  • free
  • sudo dmidecode (liest auch BIOS aus, z.B. mit -t bios)
  • /proc files
  •     cat /proc/cpuinfo
  •     cat /proc/meminfo
  •     cat /proc/version
  •     cat /proc/partitions
  • sudo hdparm -i /dev/sda

Nicht aufgeführt war der Befehl:
  • sudo blkid

Ich werde diese Shell-Befehle in irgendeiner Form aufbereiten und mir regelmäßig anschauen. Ich habe keine Ahnung, ob daraus ggfs. Hinweise auf Fehler oder Fehlfunktionen abzulesen sind.

Jedenfalls habe ich wohl die Info lesen können (dmidecode), dass ich 4x4GB-Ram eingebaut habe. Somit kann ich nur neuen RAM kaufen. Mein Board verträgt insgesamt 64GB, also max. 4x16GB. Ich muss prüfen, wie hoch die Kosten dafür wären. Wenn es erschwinglich ist, dann kaufe ich mir diesen Speicher, aber mindestens 4x8GB. Das steht fest.

Drucke diesen Beitrag

  Float zu Int
Geschrieben von: Joopi - 06-01-2023, 10:28 - Forum: Programmieren - Keine Antworten

Dann und wann ist es notwendig, dass aus einer Float-Zahl, also einer Zahl mit Nachkommastellen, eine Ganzzahl wird. Das kann man wie folgt ermöglichen:

Code:
float=1.23
int=${float%.*}

Die Zahl, in der Variablen float gespeichert, wird in die Variable int übernommen und mit dem %-Zeichen und dem Sternchen formatiert.

In einem Fließtext wäre dann nur

 
Code:
${float%.*}

zu nutzen, um die Ganzzahl zu zeigen.

Drucke diesen Beitrag

  Shell Verzeichnistiefe
Geschrieben von: Joopi - 06-01-2023, 10:26 - Forum: Programmieren - Keine Antworten

Für meine weiteren Arbeiten im AMC oder im freien Mediencenter ist es wichtig zu wissen, welche Verzeichnistiefe vorliegt. Bei der Suche nach einem entsprechenden Befehl habe ich auch die Möglichkeit gefunden, alle Unterordner zu zählen. Das kann ggfs. hilfreich sein. Wichtig war mir aber die Tiefe.

Mit folgendem Befehl kann die Anzahl der Ordner ermittelt werden, wobei der Startordner, hier ist es ./test, mitgezählt wird:

Code:
find ./test -type d | wc -l

Die Anzahl der Ordner ist aber nicht ausreichend, um die Tiefe der Struktur zu erkennen. Dafür ist folgender Befehl geeignet, wobei der Startordner, hier ist es ./test, **nicht** mitgezählt wird:

Code:
find ./test -type d -printf '%d\n' | sort -rn | head -1

Um alle Dateien für eine Umbenennung oder Konvertierung zu erreichen, ist die Kenntnis über die Ordnertiefe sehr wichtig.

Drucke diesen Beitrag

  Zahlen formatiert ausgeben
Geschrieben von: Joopi - 06-01-2023, 10:24 - Forum: Programmieren - Keine Antworten

Um das Ergebnis einer SQLite3-Abfrage, wenn es sich um Zahlen handelt, formatiert auszugeben, kann folgende Schreibweise genutzt werden:

Code:
select printf("%,d", sum(datsize)) from bildinfo;

Das Ergebnis sieht dann wie folgt aus:

Zitat:253,921,248,502

Drucke diesen Beitrag

  Tabelle leeren
Geschrieben von: Joopi - 06-01-2023, 10:23 - Forum: Programmieren - Keine Antworten

Um eine Tabelle komplett zu leeren, ist folgender Befehl erforderlich:

Code:
DELETE FROM tabelle;

Dieser Befehl ist gleichzusetzen mit truncate aus MySQL.

Drucke diesen Beitrag

  neue Datenbank anlegen / öffnen
Geschrieben von: Joopi - 06-01-2023, 10:22 - Forum: Programmieren - Keine Antworten

Um eine neue Datenbank anzulegen, ist folgendes auf der Konsole einzugeben:

Code:
sqlite3 datenbank.db

Sollte die Datenbank (Datei) bereits existieren, wird sie geöffnet.

Drucke diesen Beitrag

  Hilfe in Konsole aufrufen
Geschrieben von: Joopi - 06-01-2023, 10:20 - Forum: Programmieren - Keine Antworten

Um in der Konsole von SQlite3 die Hilfe aufzurufen, ist folgendes einzugeben:

Code:
.help

Drucke diesen Beitrag