Web lists-archives.com

Re: Editing a piped in stream?




On 2018-07-07 11:02, David Christensen wrote:
On 07/06/18 09:17, Richard Owlett wrote:
Subject line is poorly phrased.
While working on a problem {solved by a different approach} I had:
    ls -l /dev/disk/by-label/ | cut -f 10,12 -d ' ' data.txt
I would then manually edit data.txt by replacing the space character between the two fields with a tab.
I suspect I should be able to do:
    ls -l /dev/disk/by-label/ | cut -f 10,12 -d ' ' | *something* > prettydata.txt
What you want is a tool that can handle fields delimited by one or more whitespace characters.  Regular expressions come to mind, but RTFM cut(1) doesn't look promising:

Perhaps awk(1) or sed(1) (?).

awk is indeed one alternative, it accepts multi-spaces between fields:
ls -l /dev/disk/by-label/ | awk '/total/{next};{print $9"\t"$11}' > prettydata.txt

Ideal would be a more focussed way of reading out the disk info, perhaps something with blkid or lsblk?

--
John