5

約 150 から 200 のファイル名のリストを含むテキスト ファイルがあります。

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

コンマ区切りのファイルの文字列が必要です。各文字列に含まれるファイルは 20 個までです。したがって、エコーは次のようになります...

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

文字列の数は、ファイルの行数によって異なります。みたいなことを書いてしまった…

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

Translate コマンドは期待どおりに機能しますが、各文字列を 20 個のファイル名に制限するにはどうすればよいですか?

cat filelist.txt | tr '\n' ','
4

4 に答える 4

0

sed のsコマンドでフラグを使用して、20 個ごとのコンマを改行に置き換えます。

 < filelist.txt tr '\n' , | sed ':a; s/,/\n/20; P; D; ta'; echo
于 2012-07-05T14:01:27.407 に答える