У меня есть текстовый файл, который выглядит как ниже. Разделителями являются пробелы. Как вы можете видеть, разделители иногда удваиваются или утраиваются, поэтому одновременные разделители следует рассматривать как один разделитель. Кроме того, я хочу преобразовать дату в формат отметки времени MySQL.
889468 216 -rw-r--r-- 1 wls1 wls1 217868 Nov 1 00:42 /home/wls1/1800WLS610Entry_20191031194242110_C0NTRA.jpg
2889469 228 -rw-r--r-- 1 wls1 wls1 231092 Nov 1 01:21 /home/wls1/1800WLS610Entry_20191031202145570_FPP3360.jpg
2889471 196 -rw-r--r-- 1 wls1 wls1 197452 Nov 1 01:55 /home/wls1/1800WLS610Entry_20191031205544650_0NLY.jpg
2889470 196 -rw-r--r-- 1 wls1 wls1 199512 Nov 1 01:55 /home/wls1/1800WLS610Entry_20191031205544720_C0NTRACT.jpg
2889472 236 -rw-r--r-- 1 wls1 wls1 240152 Nov 1 01:57 /home/wls1/1800WLS610Entry_20191031205719060_KSK6973.jpg
2889473 232 -rw-r--r-- 1 wls1 wls1 236876 Nov 1 01:57 /home/wls1/1800WLS610Entry_20191031205748650_KSK6973.jpg
2889474 224 -rw-r--r-- 1 wls1 wls1 229292 Nov 1 04:22 /home/wls1/1800WLS610Entry_20191031232239000_0NLY.jpg
2889475 228 -rw-r--r-- 1 wls1 wls1 230476 Nov 1 04:28 /home/wls1/1800WLS610Entry_20191031232853120_0NLY.jpg
2889477 224 -rw-r--r-- 1 wls1 wls1 228708 Nov 1 04:31 /home/wls1/1800WLS610Entry_20191031231809320_C0NTRACT.jpg
2889476 216 -rw-r--r-- 1 wls1 wls1 219104 Nov 1 04:31 /home/wls1/1800WLS610Entry_20191031233143530_CTP75.jpg
Мне нужно извлечь полный путь к имени файла, отметке времени и имени пользователя владельца. Чтобы полученный файл выглядел так, как показано ниже. Разделитель должен быть одним символом табуляции. И поле даты должно быть преобразовано в метку времени MySQL.
/home/wls1/1800WLS610Entry_20191031194242110_C0NTRA.jpg wls1 2019-11-01 00:42:00
/home/wls1/1800WLS610Entry_20191031202145570_FPP3360.jpg wls1 2019-11-01 01:21:00
/home/wls1/1800WLS610Entry_20191031205544650_0NLY.jpg wls1 2019-11-01 01:55:00
/home/wls1/1800WLS610Entry_20191031205544720_C0NTRACT.jpg wls1 2019-11-01 01:55:00
/home/wls1/1800WLS610Entry_20191031205719060_KSK6973.jpg wls1 2019-11-01 01:57:00
/home/wls1/1800WLS610Entry_20191031205748650_KSK6973.jpg wls1 2019-11-01 01:57:00
/home/wls1/1800WLS610Entry_20191031232239000_0NLY.jpg wls1 2019-11-01 04:22:00
/home/wls1/1800WLS610Entry_20191031232853120_0NLY.jpg wls1 2019-11-01 04:28:00
/home/wls1/1800WLS610Entry_20191031231809320_C0NTRACT.jpg wls1 2019-11-01 04:31:00
/home/wls1/1800WLS610Entry_20191031233143530_CTP75.jpg wls1 2019-11-01 04:31:00
Чтобы выполнить вышеизложенное, я пытался использовать cat и cut следующим образом:
cat text.txt | cut -d ' ' -f 12,25,27,28,29
Я изменяюаргумент для директивы -f, указывающий, какие столбцы вырезать, какие столбцы я хочу, но я вижу, что одновременные пробелы не будут рассматриваться как один разделитель.
Приведенный выше оператор cat / cut дает следующее:
1 217868 1 00:42
wls1 Nov 1 01:21 /home/wls1/1800WLS610Entry_20191031202145570_FPP3360.jpg
wls1 Nov 1 01:55 /home/wls1/1800WLS610Entry_20191031205544650_0NLY.jpg
wls1 Nov 1 01:55 /home/wls1/1800WLS610Entry_20191031205544720_C0NTRACT.jpg
wls1 Nov 1 01:57 /home/wls1/1800WLS610Entry_20191031205719060_KSK6973.jpg
wls1 Nov 1 01:57 /home/wls1/1800WLS610Entry_20191031205748650_KSK6973.jpg
wls1 Nov 1 04:22 /home/wls1/1800WLS610Entry_20191031232239000_0NLY.jpg
wls1 Nov 1 04:28 /home/wls1/1800WLS610Entry_20191031232853120_0NLY.jpg
wls1 Nov 1 04:31 /home/wls1/1800WLS610Entry_20191031231809320_C0NTRACT.jpg
wls1 Nov 1 04:31 /home/wls1/1800WLS610Entry_20191031233143530_CTP75.jpg
Итак, вышесказанное является шагом в правильном направлении.
Но обратите внимание на эту верхнюю линию? Размер файла в этой строке меньше на один символ, поэтому он испортил его. Кроме того, я не уверен, как изменить порядок столбцов и переформатировать отметку времени.
Заранее благодарен за помощь!