linux - how to do 'ls -lrt' of data from a input file -


i have input file file.csv (data separated comma delimiter) have 3 comma-delimited rows. data file names.

e.g:

test,test1,test2,test3,,n a,b,c,d,,n p,q,r,s,,n 

now, have requirement first row of file file.csv data exist or not in directory abc command ls -lrt. output of command should redirected text file a.txt.

e.g:

ls -lrt test ls -lrt test1 .... 

next: second row of file.csv data in directory abc command ls -lrt. output of command should appended text file a.txt.

e.g:

ls -lrt ls -lrt b .... 

next: third row of file.csv data in directory xyz command ls -lrt. output of command should appended text file a.txt.

e.g:

ls -lrt p ls -lrt q .... 

sample output:

-rw-r--r-- 1 dba  dba  122 jan 21 06:44 test ls: p: no such file or directory 

how can achieve this?

something maybe:

dirs=(abc abc xyz) index=1 while read -r line;     ifs=,     f in $line;         ls -lrt "${dirs[$index]}/$f" 2>&1     done     let index++ done <file.csv >a.txt 

keeping array of directories examine each iteration isn't particularly elegant; perhaps massage input data or problem statement internally consistent.

arrays bash feature, not work sh (but supported in similar form in ksh , zsh well, believe).

this more elegant if didn't use comma-separated input. shell excellent @ parsing space-separated tokens. muck ifs=, achieve same effect comma-separated list of values drive for loop.


Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -