2025-02-18 14:37:26 +01:00

83 lines
2.7 KiB
TeX
Executable File

\section{Datum in Bash Scripte}
In einem Bash Script kann man sich sein eigenes Datumsformat zusammenstellen.
\listBash
\begin{lstlisting}[captionpos=b, caption=Beispiele Datumsformat, label=lst:bash]
uws@tux>export stamp=$(date +%a)
uws@tux>echo $stamp
Do
uws@tux>export stamp=`date +%Y_%m_%d`
uws@tux>echo $stamp
2010_06_17
uws@tux>printf "`date +%Y_%m_%d` - Time\n"
2010_06_17 - Time
uws@tux># -d oder --date="yesterday"
uws@tux># weitere Werte: next Friday, 2 days ago, 1 day, next day
uws@tux>printf "$(date -d "yesterday" '+%Y.%m.%d %H:%M:%S')\n"
2010.06.16 10:23:44
uws@tux># Weitere Beispiele ohne Format Angabe
uws@tux># https://www.cyberciti.biz/tips/linux-unix-get-yesterdays-tomorrows-date.html
uws@tux>printf "$(date -d "1 years ago")\n"
uws@tux>printf "$(date -d "3 years")\n"
uws@tux>printf "$(date -d "this Friday")\n"
uws@tux>printf "$(date -d "second Fri")\n"
uws@tux>printf "$(date -d "Second Friday")\n"
uws@tux>printf "$(date -d "last Friday")\n"
uws@tux>printf "$(date -d "5 months 10 days")\n"
uws@tux>printf "$(date -d "-3 months 8 day ago")\n"
uws@tux>cat example.sh
#!/bin/bash
# Example for Date
#
DATUM=`date +%Y_%m_%d`
stamp=$(date +%a)
find . -type -f ( -name '*.jpg' ) -exec zip ${Datum}_jpg.zip {} \;
mv example.txt example.txt.$stamp
\end{lstlisting}
\newpage
\begin{flushleft}
Eine Auflistung f"ur die Datumformatierung befindet sich in der nachfolgenden Tabelle.
%
% Hier kommt eine Tabelle, 2 Spalten
%
% \emph und \textbf => Kursiv und Fett
% \ => demask
% Umlaute => \"A = Ä
\begin{table}[ht]
\begin{tabular}{p{1.5cm}p{14.5cm}} % l => Text left, c => center, r => right, p => zeilenumbruch
\rowcolor{hellgrau}\emph{\textbf{Format}} & \emph{\textbf{Beschreibung}} \\
\hline
\hline
\%H & Stunden (00 bis 23)\\
\%I & Stunden (01 bis 12)\\
\%M & Minuten (00 bis 59)\\
\%S & Sekunden (00 bis 23)\\
\%p & Vor- oder Nachmittag (AM oder PM)\\
\%r & Zeitangabe, 12 Stunden (hh:mm:ss AM/PM)\\
\%R & Zeitangabe, 24 Stunden (hh:mm:ss), entspricht damit \%H:\%M\\
\%s & Sekunden seit dem 1. Januar 1970 (Unix Zeit)\\
\%Z & Aktuelle Zeitzone (CEST, GMT, ...)\\
\%a & Wochentag in Kurzform (Son, Mon, Die, ...)\\
\%A & Wochentag in Langform\\
\%b & Monat in Kurzform (Jan, Feb, ...)\\
\%B & Monat in Langform\\
\%d & Tag in zweistelliger Zahl\\
\%e & Tag (einstellig mit Leerzeichen)\\
\%D & Datum in der Form mm/dd/yy\\
\%j & Zeigt, der wie vielte Tag im angegebenen Jahr ist\\
\%u & Zeigt, welcher Wochentag es ist (1 bis 7)\\
\%U & Zeigt, wie viele Wochen im angegebenen jahr es ist\\
\%m & Monat, zweistellig\\
\%y & Jahr, zweistellig\\
\%Y & Jahr, vierstellig\\
\%\% & Ausgabe des Prozentzeichens\\
\%n & Zeilenende\\
\%t & Tabulator\\
\end{tabular}
\caption{Formate}
\end{table}
\end{flushleft}