From 172056a6c7f488d36df1e0cdf1fed709341af845 Mon Sep 17 00:00:00 2001 From: Crestwave Date: Mon, 23 Sep 2019 20:19:13 +0800 Subject: [PATCH] Add support for lines that end without a newline --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2edfe63..b88936a 100644 --- a/README.md +++ b/README.md @@ -393,10 +393,11 @@ Alternative to the `head` command. head() { # Usage: head "n" "file" while read -r line; do - [ "$i" = "$1" ] && break printf '%s\n' "$line" i=$((i+1)) + [ "$i" = "$1" ] && return done < "$2" + [ -n "$line" ] && printf %s "$line" } ``` @@ -420,7 +421,7 @@ Alternative to `wc -l`. ```sh lines() { # Usage: lines "file" - while read -r _; do + while read -r line || [ -n "$line" ]; do lines=$((lines+1)) done < "$1" @@ -568,7 +569,7 @@ done ## Loop over the contents of a file ```shell -while read -r line; do +while read -r line || [ -n "$line" ]; do printf '%s\n' "$line" done < "file" ```