sedで改行を削除する

http://www001.upp.so-net.ne.jp/hata/sed_reference.html

sed ':loop; N; $!b loop; s/\n//g' input.txt

例えばCのプロジェクトで以下のソースだとする.

$ ls
bridge.cpp             inset.h                polygonOptimizer.cpp   sliceDataStorage.h
bridge.h               layerPart.cpp          polygonOptimizer.h     slicer.cpp
comb.cpp               layerPart.h            raft.cpp               slicer.h
comb.h                 main.cpp               raft.h                 support.cpp
fffProcessor.h         modelFile              settings.cpp           support.h
gcodeExport.cpp        multiVolumes.h         settings.h             timeEstimate.cpp
gcodeExport.h          optimizedModel.cpp     skin.cpp               timeEstimate.h
infill.cpp             optimizedModel.h       skin.h                 utils
infill.h               pathOrderOptimizer.cpp skirt.cpp
inset.cpp              pathOrderOptimizer.h   skirt.h

この中からフォルダ以外(ファイル)を抜き出して重複を削除した名前だけ並べたいときはこうする

$ ls -p |grep -Ev '/'| sed -e 's/\..*//g' | uniq | gsed -e ':loop; N; $!b loop; s/\n/,/g'

bridge,comb,fffProcessor,gcodeExport,infill,inset,layerPart,main,multiVolumes,optimizedModel,pathOrderOptimizer,polygonOptimizer,raft,settings,skin,skirt,sliceDataStorage,slicer,support,timeEstimate