Übersetzen newline zu comma

Ich habe eine Textdatei mit einer Liste von rund 150 bis 200 Datei-Namen

abc.txt
pqr.txt
xyz.txt
...
...

Brauche ich ein string mit Komma-getrennten Dateien.
Jede Zeichenfolge sollte nicht mehr als 20 Dateien. So ist das echo in etwa so Aussehen...

$string1="abc.txt,pqr.txt,xyz.txt..."
$string2="abc1.txt,pqr1.txt,xyz1.txt..."
...

Die Anzahl der strings wird unterschiedlich sein, je nach der Anzahl der Zeilen in der Datei. Ich habe geschrieben, so etwas wie dieses...

#!/bin/sh
delim=','
for gsfile in `cat filelist.txt`
do
filelist=$filelist$delim$gsfile
echo $filelist
done

Übersetzen-Befehl arbeitet wie erwartet, aber wie beschränke ich jeder Zeichenfolge, die 20 Dateinamen?

cat filelist.txt | tr '\n' ','
  • Sie können ein Variablen-array und Schleife Trog Ihre Liste, überprüfen Sie, ob % 20 == 0, dann weisen Sie zur nächsten Variablen aus der variable array
InformationsquelleAutor shantanuo | 2012-07-05
Schreibe einen Kommentar