Dieser Artikel erklärt, wie man zufällige Textdaten von n Zeichen Breite mal n Zeichen Höhe von der Bash-Befehlszeile auf Linux-Computern und -Servern generiert.

Ein Beispiel für die Generierung von Textdaten, die aus zufälligen Zeichen bestehen, 5 Zeichen x 5 Zeichen, insgesamt 25 Zeichen:
yuis ASUS /mnt/c/pg$ gentext 5 5 random
AsVDT
iCPZi
Ihlv8
NVwc0
TofvP
Wenn keine Zufallszahlen benötigt werden, geben Sie das dritte Argument als leer oder ein beliebiges Zeichen an, um Textdaten mit demselben Zeichen auszugeben.
yuis ASUS /mnt/c/pg$ gentext 5 5
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX
Wenn Sie die generierten Daten in eine Datei ausgeben möchten, leiten Sie sie wie üblich um.
yuis ASUS /mnt/c/pg$ gentext 5 5 random > tmp.txt
Code
Hier ist der Code:
gentext02(){
: <<< '
generate a large size of text contents.
e.g. gentext02 [width] [height] [char]
e.g. gentext02 100 100 Z
e.g. gentext02 100 100 random > tmp.txt
i.e. check how long time fzf takes against to a large of text contents.
tmpdird
push gentext02 20 50000 random > tmp.txt
cat tmp.txt | fzf
'
for i in $(seq "${2:-10}") ; do
# printf "${3:-X}%.0s" {1..${1:-10}} ; printf '\n'
[[ "${3}" =~ rand|random ]] && {
# printf "$( randsel {a..z} )%.0s" $( eval "echo {1..${1:-10}}" ) ; printf '\n'
random ${1:-10}
} || {
printf "${3:-X}%.0s" $( eval "echo {1..${1:-10}}" ) ; printf '\n'
}
done
}
alias gentext="gentext02"
Code-Erklärung
Die gentext-Funktion generiert Textdaten von n Zeichen Breite mal n Zeichen Höhe.
- Wenn das zweite Argument nicht angegeben ist, wird 10 angegeben.
for i in $(seq "${2:-10}") ; do
- Wenn das dritte Argument
randoderrandomist, wird dierandom-Funktion aufgerufen.
[[ "${3}" =~ rand|random ]] && {
random ${1:-10}
} || {
printf
"${3:-X}%.0s" $( eval "echo {1..${1:-10}}" ) ; printf '\n'
}
- Ruft die
random-Funktion auf.
random ${1:-10}
- Wenn das dritte Argument nicht angegeben ist, wird
Xangegeben.
printf "${3:-X}%.0s" $( eval "echo {1..${1:-10}}" ) ; printf '\n'
- Generiert Textdaten von n Zeichen Breite mal n Zeichen Höhe.
printf "${3:-X}%.0s" $( eval "echo {1..${1:-10}}" ) ; printf '\n'
- Aliasiert die
gentext-Funktion alsgentext02.
alias gentext="gentext02"
Verwendung
Fügen Sie dies zu ~/.bashrc oder ähnlich hinzu, dann starten Sie die Shell neu oder laden Sie es mit source ~/.bashrc oder ähnlich.
Mit dem gentext-Befehl können Sie Textdaten von n Zeichen Breite mal n Zeichen Höhe generieren.
random(){
ARG1=${1:-32}
# cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $1 | head -n 1
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $ARG1 | head -n 1
}