linuxsedawk

How to remove the filename from the end of the du -h output?


Take the example:

$ du -h file_size.txt
112K file_size.txt

How would I remove the filename from the output of du -h?

I have tried to use sed to search for a string (the filename) and replace it with nothing, but it hasn't worked - command below:

du -h file_size.txt | sed 's/ 'file_size.txt'//'

Could someone please point out why this won't work, or perhaps a better way to do it?


Solution

  • You have some bad quoting in that command line. The simplest is probably:

    du -h file_size.txt | cut -f -1
    

    To fix your command line:

    du -h file_size.txt | sed 's/file_size.txt//'
    

    Since your post has an awk tag:

    du -h file_size.txt | awk '{ print $1 }'