Show certain lines by line number

From LemonWiki共筆
Revision as of 19:31, 9 March 2021 by Unknown user (talk) (Text replacement - "Category:Text file processing" to "Category:String manipulation")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Show certain lines by line number of string file

Prepare the testing text file[edit]

echo "line 1" > test.txt
echo "line 2" >> test.txt
echo "line 3" >> test.txt
echo "line 4" >> test.txt
echo "line 5" >> test.txt
echo "line 6" >> test.txt

key-in the command cat test.txt to view the file content

line 1
line 2
line 3
line 4
line 5
line 6

Approaches[edit]

Approach 1: Using cat, head & tail commands[edit]

1. key-in the command[1]

# X: start line number
# Y: end line number
X=2
Y=4
Z=$(($Y-$X+1))
cat test.txt | head -n $Y | tail -n $Z

result

line 2
line 3
line 4

2. key-in the command if you want to show the line number of each line

# X: start line number
# Y: end line number
X=2
Y=4
Z=$(($Y-$X+1))
cat -n test.txt | head -n $Y | tail -n $Z

result

     2	line 2
     3	line 3
     4	line 4

Approach 2: Using sed command[edit]

key-in the command[2]

# X: start line number
# Y: end line number
X=2
Y=4
Z=$(($Y-$X+1))
sed -n -e "$X,$Y p" -e "$Y q" test.txt

result

line 2
line 3
line 4

References[edit]