diff options
author | black <dylan.araps@gmail.com> | 2019-09-23 15:33:19 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-23 15:33:19 +0300 |
commit | 460ccfdfd71e339fa608bb69f224fef0a584e4a8 (patch) | |
tree | 17ffb40307baa4351f2d77a9b7d049a97ad922de | |
parent | bef1e1dc2592b1b630c4f5c492338a9e38d63975 (diff) | |
parent | 7b09145c268388284d6380cf4b473db66656a479 (diff) | |
download | pure-sh-bible-460ccfdfd71e339fa608bb69f224fef0a584e4a8.tar.gz pure-sh-bible-460ccfdfd71e339fa608bb69f224fef0a584e4a8.zip |
Merge pull request #5 from Crestwave/eof
Add support for lines that end without a newline
-rw-r--r-- | README.md | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -393,10 +393,12 @@ 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 +422,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 +570,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" ``` |