Ich versuche, eine sehr speziell benannte Datei von einem Ordner in einen anderen zu verschieben (was schließlich zu einem anderen Server SFTP ist).KSH-Skript zum Verschieben von Dateien in den SFTP-Ordner
Der Dateiname soll wie folgt aussehen: reports_aug_30.csv
mein gegenwärtiges Skript verwenden, ich Probleme mit ihm in dem auf dieses Format zu bekommen. Ich bekomme: aug_30_reports.csv
Was ich tun möchte, ist das Datum am Anfang verschieben und dann behalten Sie den Namen für den Rest des Dateinamens.
Hat jemand irgendwelche Vorschläge, wie der Name des Berichts wie erwähnt formatiert wird?
Die beiden zugehörigen Funktionen in meinem Skript sind:
function REPORTS
{
# specify SFTP report path
SFTPDIR=/home/josh/domain/sftp/reports
[email protected]
CHKSFTP
typeset -l FILEDR=$tmp
typeset -l FILENM=reports.csv
typeset -l MIXFNM=$FILEDR/$FILENM
typeset -l NEWFILENM
if [[ -f $MIXFNM ]]
then
ls -al $MIXFNM | awk '{print $6,$7}' | while read MONTH DAY
do
NEWFILENM=$FILENM_${MONTH}_${DAY}
echo "---------------------------------------------"
echo "[ `date` ]"
echo "** $FNCTN file located on `hostname` ! **"
echo "moving: $MIXFNM to $SFTPDIR/$NEWFILENM"
mv $MIXFNM $SFTPDIR/$NEWFILENM
done
else
echo "---------------------------------------------"
# echo -e "[ `date` ] - No files with a name of $FILENM located in $FILEDR were found on [ `hostname` ] - Please check the respective operations for failures" | mailx -s "$FNCTN File not found [ `hostname` ]!" $ALERT_LIST
echo "[ `date` ]"
echo -e "WARNING: No files with a name of $FILENM located in $FILEDR were found on [ `hostname` ]! \n Email alert sent to $ALERT_LIST"
fi
}
function CHKSFTP
{
## check for the SFTP directory before we continue, if it fails then we exit with failure
if [[ ! -d $SFTPDIR ]]
then
echo "Please Mount the CIFS share /home/josh/domain/sftp/reports" | mailx -s "SFTP Share Not Mounted [ `hostname` ]!" $ALERT_LIST
exit 1
fi
}
In der Zukunft müssen Sie keinen so großen Codeblock mehr posten. Zeigen Sie das Problem in seiner einfachsten Form mit Beispieleingabe, erwartete Ausgabe, den Code, den Sie haben, Ihre aktuelle Ausgabe und Ihre Kommentare darüber, warum Sie Ihren aktuellen Code verwenden. Verwenden Sie auch das '[ksh]' - Tag, um die Leserschaft Ihres Q zu fokussieren. Viel Glück. – shellter