**I have an input like as follows with many, many rows, and I need to parse all this file into a better format, could be a CSV file or JSON (maybe in the future). So I need to produce an outcome with columns delimited by a comma, thinking of being able to export the content in CSV file for now.
Get the name files
awk '{ if($2 ~ /A/ ) print $1 }' dir_out
Get all the paths
awt ' /[\\]/ {print}'
Get the size of the files
awk '{ if($3 ~ /^[0-9]/) print $3}'
Right now I have the individual commands to generate the desired result, however I have to find a way to put them in the same line of awk commands, or in a script.
One of the critical points that I have not been able to solve is to make column 1 of the outcome the path that delimits each block, for all the files in the block.
So I starting from this input: **
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl
R0097A+05.00B-00-QingL.JPG A 6958377 Fri Jun 8 12:53:30 2018
R0097A+05.00B-00-QingLI.JPG A 2794933 Fri Jun 8 12:53:30 2018
R0097A+05.00B-00-QingLO.JPG A 1350397 Fri Jun 8 12:53:30 2018
R0097A+11.00B-00-QingL.JPG A 6997803 Fri Jun 8 12:53:30 2018
R0097A+11.00B-00-QingLI.JPG A 2783151 Fri Jun 8 12:53:30 2018
R0097A+11.00B-00-QingLO.JPG A 1338662 Fri Jun 8 12:53:30 2018
R0097A-00.00B-00-QingL.JPG A 7069740 Fri Jun 8 12:53:30 2018
R0097A-00.00B-00-QingLI.JPG A 2825705 Fri Jun 8 12:53:30 2018
R0097A-00.00B-00-QingLO.JPG A 1369520 Fri Jun 8 12:53:30 2018
Jhumbs.db A 20480 Fri Jun 8 13:14:41 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl
R0098A+05.00B-00-QingL.JPG A 6958377 Fri Jun 8 12:54:30 2018
R0098A+05.00B-00-QingLI.JPG A 2794933 Fri Jun 8 12:54:30 2018
R0098A+05.00B-00-QingLO.JPG A 1350398 Fri Jun 8 12:54:30 2018
R0098A+11.00B-00-QingL.JPG A 6998803 Fri Jun 8 12:54:30 2018
R0098A+11.00B-00-QingLI.JPG A 2783151 Fri Jun 8 12:54:30 2018
R0098A+11.00B-00-QingLO.JPG A 1338662 Fri Jun 8 12:54:30 2018
R0098A-00.00B-00-QingL.JPG A 7069840 Fri Jun 8 12:54:30 2018
R0098A-00.00B-00-QingLI.JPG A 2825705 Fri Jun 8 12:54:30 2018
R0098A-00.00B-00-QingLO.JPG A 1369520 Fri Jun 8 12:54:30 2018
Jhumbs.db A 20480 Fri Jun 8 13:14:41 2018`
ljkhlj
PATH, FILENAME, SIZE, TIMESTAMP
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingL.JPG, 6958377, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingLI.JPG, 2794933, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingLI.JPG, 1350397, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+11.00B-00-QingL.JPG, 6997803, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingL.JPG, 6958377, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingLI.JPG, 6958377, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingLO.JPG, 6958377, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+11.00B-00-QingL.JPG, 6958377, Fri Jun 8 12:54:30 2018
Here's a way of combining your awk command into a single script:
#!/bin/bash
awk '
$2 ~ /A/ {print $1; }
/[\\]/ {print}
$3 ~ /^[0-9]/ {print $3}
' "$@"
In general, awk takes multiple /search/ {command} pairs. If /search/ is missing, it defaults to all lines and if {command} is missing, it defaults to print.
Here's the additional logic you need to get your expected results:
#!/bin/bash
awk -v OFS=, '
BEGIN { print "PATH, FILENAME, SIZE, TIMESTAMP" }
/[\\]/ { path=$0 }
$2 ~ /A/ {print path,$1,$3,$4 " " $5 " " $6 " " $7 }
' "$@"
$ cat tst.awk
BEGIN {
OFS = ", "
print "PATH", "FILENAME", "SIZE", "TIMESTAMP"
}
/^ / {
file = $1
size = $3
sub(/^ ([^[:space:]]+[[:space:]]+){3}/,"")
print path, file, size, $0
next
}
{ path = $0 }
$ awk -f tst.awk file
PATH, FILENAME, SIZE, TIMESTAMP
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingL.JPG, 6958377, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingLI.JPG, 2794933, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+05.00B-00-QingLO.JPG, 1350397, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+11.00B-00-QingL.JPG, 6997803, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+11.00B-00-QingLI.JPG, 2783151, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A+11.00B-00-QingLO.JPG, 1338662, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A-00.00B-00-QingL.JPG, 7069740, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A-00.00B-00-QingLI.JPG, 2825705, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, R0097A-00.00B-00-QingLO.JPG, 1369520, Fri Jun 8 12:53:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0097\Qingl, Jhumbs.db, 20480, Fri Jun 8 13:14:41 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingL.JPG, 6958377, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingLI.JPG, 2794933, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+05.00B-00-QingLO.JPG, 1350398, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+11.00B-00-QingL.JPG, 6998803, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+11.00B-00-QingLI.JPG, 2783151, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A+11.00B-00-QingLO.JPG, 1338662, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A-00.00B-00-QingL.JPG, 7069840, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A-00.00B-00-QingLI.JPG, 2825705, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, R0098A-00.00B-00-QingLO.JPG, 1369520, Fri Jun 8 12:54:30 2018
\QJ DaJabase EltraJo\DR0151-populated\DaJa\ASAA Images\k0098\Qingl, Jhumbs.db, 20480, Fri Jun 8 13:14:41 2018
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With