Skip to main content

Getting rid of empty lines in Linux

The problem

Some files have a lot of empty lines.

You may want to condense multiple empty lines to a single empty line.

You may want to get rid of all empty lines.

The solution

cat -s filename condenses multiple empty lines to a single empty line.

Inside vim, call the command as :%!cat -s

cat -s filename | sed '/^$/d' gets rid of all empty lines.

Inside vim, call the command as :%!cat -s | sed '/^$/d'

Note

Empty lines are not the same as blank lines.

Empty lines have nothing in them.

Blank lines may have spaces and tabs that you can't see.

These commands won't work with tabs or spaces on an "empty" line.

Comments

Support blog with a $5 contribution

Popular posts from this blog

Xfce as a tiling window manager

Tiling window managers
I flirted with tiling window managers on Linux.

I liked them. I still like them. I may go back to them.

But I like a standard desktop more, at least for now.

Here's the thing.

Xfce can tile windows just fine!

So with Xfce, I have the best of both worlds.

Setting up tiling on Xfce
Xfce does not tile by default, at least on Debian stretch.

The potential is there, but no keystrokes are associated with tiling commands.

To fix this, go to Settings -> Window Manager. Click the Keyboard tab.

Scroll down to to the tiling commands.

There are eight of them. I use four:

Tile window to the top
Tile window to the bottom
Tile window to the left 
Tile window to the right

Use all eight if you so desire!

Double-click each command and give the keystrokes you want to use.

This was a little weird, at least for me.

I thought I would describe the keys I wanted to use in a field.

But no. I had to type the actual keys.

For example, double click on Tile window to the top.

Then type

Tricks with dict! Find similarly spelled words! Find phrases!

Tricks with dict
I use dict a lot from the command line.

Usually I type something like dict tricky to get back a definition and synonyms.

That's about as simple and user friendly as you can get.

But dict has a few more advanced tricks up its sleep.

dict can find similarly spelled words.

I wrote a short story with an alligator. I wanted words with "gator" to use as puns.

This command did the trick: dict -s re gator -m

Here's what I got back:
gcide:  Abnegator  Abrogator  Aggregator  alligator  Alligator   alligator  "Alligator apple"  "Alligator fish"  "Alligator gar"   "Alligator pear"  "alligator pear"  "alligator press"   "Alligator snapper"  "Alligator terrapin"  "Alligator tortoise"   "Alligator turtle"  "Alligator wood"  "Alligator wrench"   alligatored  alligatorfish  Alligatoridae  Castigator  castigatory   Castigatory  Circumnavigator  Comp…

Xfce4 Dictionary Spanish English

The problem My wife uses the Xfce4 Dictionary ver. 0.7.2 which is a gui frontend to dict.

She needed an English <- -> Spanish dictionary for work.

The online server did not return English <--> Spanish results by default, even though the server has those dictionaries installed. I didn't want to take the time to figure out why. I know how to ask for those dictionaries from the command line, but that wasn't the issue. I needed a quick hack so my wife could look up words.
The solution In File -> Preferences in Xfce Dictionary, there is a Web Service tab.

At the bottom of the Web Service tab is a URL: field.

Drop this code into the field: http://www.spanishdict.com/translate/{word}

Close the preferences dialog.

Select the Web Service button from Search with: on the main panel.

Now a search makes a page pop up on the default web browser with the definition of the word in Spanish and English. The direction of the search doesn't matter. Apple returns manzana, and m…