中括弧拡張中に生成された引数間のスペースを抑制する方法は?

中括弧拡張中に生成された引数間のスペースを抑制する方法は?

以下を使用してテストするURLのリストを作成しました。

echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt

残念ながら、追加されたすべてのURLurls.txtの前にスペースが続きます(もちろん、最初のURLは除く)。なぜこのようなことが起きるのか理解してパイピングで剥がすことができるのも分かるが、sed抑制する方法があるのだろうか。 (これは愚かで賢いように思えるかもしれませんが、多くの人が好むものと変わりはありません。「猫の虐待」ではありません.)

頑張った単語の分離を抑制する二重引用符ただし、これはサポートの拡張も妨げるため、機能しません。

IFSを空の文字列に変更しようとしましたが、うまくいきませんでした。

IFS='' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt

また改行に変更せず:

IFS='\n' echo -e localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}"\n" >> urls.txt

ベストアンサー1

printf組み込みの機能を使用してください。

$ printf %s\\n localhost:8080/reports/{promos,promo-updates,scandown}/{130,139,142}{,-unburdened,-burdened}{,.pdf,.xls,.xlsx,.csv,.preload}
localhost:8080/reports/promos/130
localhost:8080/reports/promos/130.pdf
localhost:8080/reports/promos/130.xls
localhost:8080/reports/promos/130.xlsx
localhost:8080/reports/promos/130.csv
localhost:8080/reports/promos/130.preload
localhost:8080/reports/promos/130-unburdened
localhost:8080/reports/promos/130-unburdened.pdf
localhost:8080/reports/promos/130-unburdened.xls
localhost:8080/reports/promos/130-unburdened.xlsx
localhost:8080/reports/promos/130-unburdened.csv
localhost:8080/reports/promos/130-unburdened.preload
....

おすすめ記事