Aktywne Wpisy
nocny-mirek +5
Co to jest lex tusk? Ktoś streści?
arinkao +34
Nie wierzę w to kuźwa, przed chwilą dostałam wiadomość na messengerze od klientki, taką normalną, oficjalną, dot. pracy. O 02:44, baba pyta czy da radę coś zrobić w środę. Czyli dziś └[⚆ᴥ⚆]┘
Robiąc backupy filmów/zdjęć czasami mam tak, że potrzebuję obrócić zdjęcie albo filmik i zmienia się data modyfikacji pliku. I potrzebuję zmienić datę modyfikacji na datę utworzenia pliku. Albo wszystkich plików w wybranym przeze mnie folderze.
Potrzebuję to na Maca, wiec linuxowy kod powinien zadziałać.
Wiem tyle, że że komendą stat mogę otrzymać datę utworzenia pliku, więc mam takie coś:
stat -f%B plik.jpg
i zwraca to datę utworzenia pliku w formacie timestamp, czyli np. 1435586276
i wiem, że to ustawia datę pliku:
touch -t 201904191556.12 image.jpg
I teraz potrzebuję touch -t zamienić na format timestamp albo zmienić stat, żeby mi zwracał datę utworzenia pliku w formacie YYYYMMDDHHMMSS
No i na końcu wszystko zautomatyzować, czyli żeby to leciało po każdym pliku w wybranym folderze.
Może ktoś mi z tym pomóc?
#bash #linux
#pomocy #programowanie #informatyka
@KonfesjonalToTakieDziwneSlowo:
Prostą pętlę robisz np
Ale podejść jest w sumie kilka. Możesz zrobić kilku linijkowy skrypcik, który zmienia czas modyfikacji dla podanego mu w argumencie pliku. A
touch -d łyka datę w różnych formatach:
dla osób mniej ogarniętych, pliki mam przykładowo w folderze
/Users/typowymirek/Downloads/command-line-test/
i lecę po każdym z nich czymś takim:
for f in $(ls /Users/typowymirek/Downloads/command-line-test/);do touch -t $(date -r $(stat -f%B $f) +%Y%m%d%H%M) $f;done
działa pięknie, o to właśnie mi chodziło, dzięki wszystkim za pomoc ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°
#!/bin/zsh
# "$@" whole argument - użyty w find jako folder, w którym ma być szukany wzór pliku
# -name 'wzór'
# -maxdepth 1 - only current directory, no subdirectories
# | while read PIC - read each result of find and do
#find "$@" -maxdepth 1 -name '*.jpg' | while read PIC; do
echo "
ls ./*.jpg | while read PIC; do
"
sleep 1