テキスト整形

ファイルの中がホスト名、シリアルのファイルだとします。 ホストに紐尽くように任意のデリミタで1行にしたい。 cat /tmp/sample.txt   sv223a.example.com NM2AS30066 sv224.example.com NM2AS30764 sv222.example.com NM2AS30765 sv225.example.com NM2AS30771 sv224a.example.com NM2AS30196 sv224.example.com NM2AS30197 sv225a.example.com NM2AS30076 sv223.example.com NM2AS30767 sv215.example.com NM25S38111

while read line ;do if [ ${#line} -gt 11 ];then echo $line |tr -d ‘\n’  ;else echo :$line;fi ;done < /tmp/sample.txt sv223a.example.com:NM2AS30066 sv224.example.com:NM2AS30764 sv222.example.com:NM2AS30765 sv225.example.com:NM2AS30771 sv224a.example.com:NM2AS30196 sv224.example.com:NM2AS30197 sv225a.example.com:NM2AS30076 sv223.example.com:NM2AS30767 sv215.example.com:NM25S38111   読み込んだ行の文字列が11文字以上だったら改行を削除してecho、マッチしなければコロン付きでechoをする。これで一行になりました。

Comments are closed.