As a system administrator, sometimes is necessary to do basic plain text processing for various sysadmin tasks. One very common task I do to remove empty lines in file. There are plenty of ways to do it i.e. – with grep, sed, awk, bash, perl etc.
1. Deleting empty file lines with sed
The most standard way to do it is with sed, as sed was written to do in shell quick regexp. Here is how;
sed '/^\s*$/d' file_with_empty_lines.txt > output_no_empty_lines.txt
2. Deleting empty file lines with awk
It is less of writting with awk, but I always forget the syntax and thus I like more sed, anyways here is how with awk;
cat file_with_empty_lines.txt | awk 'NF' >
output_no_empty_lines.txt
3. Deleting empty lines with grep
Grep regular expression can be used. Here is grep cmd to cut off empty lines from file;
grep -v '^\s*$' file_with_empty_lines.txt >
output_no_empty_lines.txt
4. Delete empty files with vi / vim text editor
Open vi / vim text editor
$ vim
Press Esc+: and if empty lines doesn't have empty space characters use command
g/^$/d
Whether, empty lines contain " " – space characters (which are not visible in most text editors), use vi cmd:
g/^ $/d