Вот решение bash. Он должен работать, если вы используете файловую систему ext4. Он использует дату создания файла, которую ext4 хранит в поле crtime.
Создайте этот скрипт где угодно. Скажем, my_concat в вашем каталоге $HOME (в вашем случае это /home/stuart):
#!/bin/bash
get_crtime() {
for target in "${@}"; do
inode=$(ls -di "${target}" | cut -d ' ' -f 1)
fs=$(df --output=source "${target}" | tail -1)
crtime=$(sudo debugfs -R 'stat <'"${inode}"'>' "${fs}" 2>/dev/null |
grep -oP 'crtime.*--\s*\K.*')
printf "%s\n" "${crtime}"
done
}
get_epoch_crtime(){
date --date "$(get_crtime $1)" +%s
}
get_epoch_mtime() {
stat -c %Y $1
}
# takes two date as input, returns earlier date
get_earlier_time(){
if [[ "$1" -lt "$2" ]]; then
echo $(date -d @$1 +%m/%d/%Y:%H:%M:%S)
else
echo $(date -d @$2 +%m/%d/%Y:%H:%M:%S)
fi
}
if [ $# != 1 ]; then
echo "Required only one argument - full path to folder"
echo "Usage example:"
echo "$0 /var/log/syslog/"
exit 1
fi
if [ -d "$1" ]; then
cd $1
for file in *
do
echo $(get_earlier_time $(get_epoch_crtime $file) $(get_epoch_mtime $file))
cat $file
echo -e "\n-------"
done
else
echo "The folder specified is not exists ($1). Please enter full path"
fi
Сделайте его исполняемым:
chmod +x $HOME/my_concat
Теперь перейдите к своему $HOME и запустить сценарий. Скрипт запросит у вас пароль, потому что скрипт использует sudo:
./my_concat /home/stuart/Dropbox/Scratch > new_concatenated_file
Теперь прочитайте new_concatenated_file с помощью какого-либо редактора:
gedit new_concatenated_file
Этот скрипт использует как дату создания, так и модификацию
Как вы хотите сделать это как пользователь, а не root, вам также понадобятся зависимости, доступные для сеанса.
Package freetype2 was not found in the pkg-config search path.
Попробуйте загрузить и добавить пакет freetype2 в каталог ваших проектов.
Как вы хотите сделать это как пользователь, а не root, вам также понадобятся зависимости, доступные для сеанса.
Package freetype2 was not found in the pkg-config search path.
Попробуйте загрузить и добавить пакет freetype2 в каталог ваших проектов.
Как вы хотите сделать это как пользователь, а не root, вам также понадобятся зависимости, доступные для сеанса.
Package freetype2 was not found in the pkg-config search path.
Попробуйте загрузить и добавить пакет freetype2 в каталог ваших проектов.