カンマを改行に置き換え、その後にコマンドとスペースのみを付けます。

カンマを改行に置き換え、その後にコマンドとスペースのみを付けます。

このようなリストがあります。

blue-image1.jpg,
blue-image2.jpg,
blue-image3.jpg
red-image1.jpg,
red-image2.jpg,
red-image3.jpg

元々はcsv形式でしたが、最初にプレフィックスが必要だったので改行を追加しました。今すぐ組み立てる必要があるので、ここにあります。

blue-image1.jpg,blue-image2.jpg,blue-image3.jpg
red-image1.jpg,red-image2.jpg,red-image3.jpg

頑張りcat list.txt | tr ',\n' ','ましたcat list.txt | sed 's/,\n/,/g'

しかし、どちらも正常に動作しないようです。

ベストアンサー1

それは簡単です:

$ sed -z 's/,\n/,/g' infile
blue-image1.jpg,blue-image2.jpg,blue-image3.jpg
red-image1.jpg,red-image2.jpg,red-image3.jpg

この-zスイッチは入力レコード区切り記号をに設定してNUL問題を回避します\n。バラよりman sed

-z, --null-data
NUL 文字で行を区切ります。

おすすめ記事