Ich habe eine Textdatei, die Dateinamen und Etiketten enthält dazuWie bekomme ich alle Zeichen außer dem letzten in einem Bash-Skript?
DateienBeispiel String:
0-3081031014094495-0.png 0
ich diesen Befehl bin mit über die Textdatei zu durchlaufen und letzte Zeichen erhalten.
while IFS= read -r line; do
echo $line | tail -c 2
done <$PWD/$i/caffe/test.txt
Ich möchte auch alles vor dem letzten Zeichen zu bekommen. So etwas wie echo $line | head -c -2
die ich interpretieren als: Start von Anfang an und bekommen alles, bis die beiden letzten Zeichen
Edit:
Danke für so viele wirklich schnelle Antworten. Etwas, das ich in der ursprünglichen Frage nicht erwähnt habe, war, dass ich einen Mac benutze. Ich dachte, es wäre egal, aber wenn du einige deiner Antworten ausprobierst, wurde mir klar, dass es darauf ankommt.
Zum Beispiel mit negativen Teilstrings ist not supported auf Mac. James Brown Lösung war die erste, die für mich arbeitete, deshalb habe ich seine Antwort akzeptiert.
_get letzte char_ - - _also - - Holen Sie alles vor dem letzten char_ Also, was ist die erwartete Ausgabe für diesen Eingang? –
Zeigen Sie uns eine minimale Beispieleingabe (Datei) und die erwartete Ausgabe benötigt – Inian
Meine erwartete Ausgabe mit dieser wird eine Datei sein, wo ich die zwei Teile neu anordnen und einige andere Informationen hinzufügen werde. –