Могут быть некоторые недостающие зависимости, но вы всегда можете попробовать запустить его, введя: ./ Popcorn-time
в каталоге, в который вы его распаковали.
При этом запускается, выдаются ли сообщения об ошибках или что-то подобное?
sed
Если вы хотите заменить запятые -пробелы(,␣
)табуляциями в вашем файле, вы можете передать его содержимое через sed. Вот пример
$ echo '/apps/XxReceipt.java, Thu 28 Jun 2018 02:49:45 AM EDT' | sed 's:, :\t:g'
/apps/XxReceipt.java Thu 28 Jun 2018 02:49:45 AM EDT
Пояснение:
s:, :\t:g
сообщают оболочке передать строку как есть в качестве единственного аргумента для sed. s
в первой позиции означает замену :
— разделитель шаблона/замены ,␣
— шаблон, соответствующий \t
— замена шаблона --управляющая последовательность для табуляции Если вам нужно сопоставить более сложные шаблоны с помощью sed, вы можете использовать переключатель -E
, чтобы шаблоны интерпретировались как регулярные выражения. Вы можете связать несколько выражений sed, если у каждого из них будет префикс -e
.
Если данные csv находятся в файле, вот как передать их через sed:
cat my-data.csv | sed 's:, :\t:g' | tee my-data.tsv
или
cat my-data.csv | sed 's:, :\t:g' > my-data.tsv
Насколько я понимаю этот вопрос, вы хотели бы создать вывод в формате CSV со списком файлов. Другую интерпретацию см. в конце этого ответа.
Вот сценарий оболочки, который сделает это. Он использует версию stat
для Linux, чтобы получить метку времени последней модификации.
#!/bin/sh
echo "PATHNAME,TIMESTAMP"
stat -c '"%n",%y' "$@"
После вывода заголовка этот сценарий просто вызывает stat
с путями, указанными в командной строке, чтобы получить метку времени последней модификации (см. руководство для stat
в вашей системе, чтобы выяснить, как изменить это ). Он печатает путь (в кавычках )и отметку времени.
Вы могли бы использовать это как
sh script.sh PATTERN >outputfile
Например:
$ sh script.sh *.log* *.tar >file.cvs
$ cat file.cvs
PATHNAME,TIMESTAMP
"dsmerror.log",2018-07-17 13:00:02.911711652 +0200
"dsminstr.log",2018-07-17 13:00:04.079726608 +0200
"dsminstr.log.bak",2018-05-13 18:00:03.231791181 +0200
"dsminstr.log.lock",2018-07-17 13:00:04.079726608 +0200
"archive_20170823-old.tar",2017-08-22 16:44:23.037803149 +0200
"archive_20170823.tar",2017-08-23 09:35:28.956158119 +0200
"archive_20180409.tar",2018-04-09 09:47:29.472374428 +0200
"archive-chr22.tar",2018-06-19 14:50:45.896447161 +0200
"gene_cache.tar",2018-04-25 09:44:15.518486626 +0200
Так как сценарий очень короткий, его команды могут быть написаны непосредственно в командной строке. Эквивалентная командная строка для приведенного выше примера будет
$ { echo "PATHNAME.TIMESTAMP"; stat -c '"%n",%y' *.log* *.tar; } >file.cvs
Теперь, когда у нас есть этот файл, мы можем захотеть отформатировать его для отчетов:
$ column -s, -t file.csv
PATHNAME TIMESTAMP
"dsmerror.log" 2018-07-17 13:00:02.911711652 +0200
"dsminstr.log" 2018-07-17 13:00:04.079726608 +0200
"dsminstr.log.bak" 2018-05-13 18:00:03.231791181 +0200
"dsminstr.log.lock" 2018-07-17 13:00:04.079726608 +0200
"archive_20170823-old.tar" 2017-08-22 16:44:23.037803149 +0200
"archive_20170823.tar" 2017-08-23 09:35:28.956158119 +0200
"archive_20180409.tar" 2018-04-09 09:47:29.472374428 +0200
"archive-chr22.tar" 2018-06-19 14:50:45.896447161 +0200
"gene_cache.tar" 2018-04-25 09:44:15.518486626 +0200
Это работает, если ни один из путей не содержит запятую.
Чтобы правильно отформатировать это с помощью парсера CSV, который также справится с путями, содержащими запятые:
$ csvlook file.csv
| PATHNAME | TIMESTAMP |
| ------------------------ | ----------------------------------- |
| dsmerror.log | 2018-07-17 13:00:02.911711652 +0200 |
| dsminstr.log | 2018-07-17 13:00:04.079726608 +0200 |
| dsminstr.log.bak | 2018-05-13 18:00:03.231791181 +0200 |
| dsminstr.log.lock | 2018-07-17 13:00:04.079726608 +0200 |
| archive_20170823-old.tar | 2017-08-22 16:44:23.037803149 +0200 |
| archive_20170823.tar | 2017-08-23 09:35:28.956158119 +0200 |
| archive_20180409.tar | 2018-04-09 09:47:29.472374428 +0200 |
| archive-chr22.tar | 2018-06-19 14:50:45.896447161 +0200 |
| gene_cache.tar | 2018-04-25 09:44:15.518486626 +0200 |
csvlook
является частью csvkit
, набора инструментов Python для работы с CSV-файлами.