Fish Shell:
Reading a text file

How to:

Here’s the Fish Shell scoop on opening those text files:

# Read a file line by line
while read -la line
    echo $line
end < file.txt
# Output contents of a file directly
cat file.txt

Sample output (from cat):

Hello, Fish!
Just swimming through files.

Deep Dive

Once upon a time, even before Fish Shell made its debut circa 2005, reading files was a necessity. Unix shells have always had tools for this. Why Fish? It’s friendly, it’s modern, and it’s sane with scripting defaults, making it a pleasant alternative to older shells.

The while read loop is handy for line-by-line tweaks. Don’t forget that read has flags like -la for creating list variables from the line—great for comma-separated values.

On the flip side, cat is straightforward. It concatenates and displays file contents. It’s been around in Unix since forever (well, 1971 to be exact).

In terms of performance, direct reads are generally faster and okay for smaller files. But when you’ve got a Moby Dick-sized text file, consider line-by-line processing or tools like sed, awk, or even grep if you’re fishing for specific lines.

See Also