head\tail how to display middle lines


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers head\tail how to display middle lines
# 1  
Old 11-25-2011
head\tail how to display middle lines

hay i need to display middle line:
1
2
3
4
5

how can i display 3-4?
# 2  
Old 11-25-2011
use the steps below:
save txt in a file
$ cat g
1
2
3
4
5
6
$ cat g |fmt|cut -c2-9
2 3 4 5
# 3  
Old 11-25-2011
Chopping the first and last lines from a file is easy:


Code:
sed '1d; $d;' input-file >output-file

# 4  
Old 11-25-2011
Quote:
Originally Posted by Gaurav198
use the steps below:
save txt in a file
$ cat g
1
2
3
4
5
6
$ cat g |fmt|cut -c2-9
2 3 4 5
the #num represent lines
i need to cut lines with different starters and words
i need something like
head -2 filename | tail -4
but i can't seem to get it to work Smilie
# 5  
Old 11-25-2011
you probably think you want:
Code:
tail -4 file | head -2

But from this
Quote:
Originally Posted by margan_ron
i need to cut lines with different starters and words
It looks like sed is your friend:
Code:
sed -n '/begPattern/,/endPattern/ p' file

or
Code:
sed -n '6,/endPattern/ p' file

where 6 is the line number, or other combination of numbers and regex patterns. Use '$' for the last line.
# 6  
Old 11-25-2011
amm..thanks but i still didn't learn it at college. is there a way to do it with: cut\head\tail ??

---------- Post updated at 11:27 PM ---------- Previous update was at 10:19 PM ----------

Quote:
Originally Posted by mirni
you probably think you want:
Code:
tail -4 file | head -2

But from this

It looks like sed is your friend:
Code:
sed -n '/begPattern/,/endPattern/ p' file

or
Code:
sed -n '6,/endPattern/ p' file

where 6 is the line number, or other combination of numbers and regex patterns. Use '$' for the last line.
why can't i use it with var's ?

#!/bin/bash
read x
read z y
sed -n '$z,$y p' $x

maroron@mars~>P3.1
F1
2 4
sed: -e expression #1, char 2: unknown command: `z'
# 7  
Old 11-25-2011
Small script that takes three parameters on the command line: start record, stop record and filename:


Code:
#!/usr/bin/env ksh

awk -v start=${1:-2} -v stop=${2:-3} ' NR >= start && NR <= stop ' $3

If filename is not given, then it reads from stdin.


You can use variables in your sed programme, but you must use double quotes and not single quotes round it:


Code:
read x
 read z y
 sed -n "$z,$y p"  $x

And make sure you have a space between it and the filename ($x)
This User Gave Thanks to agama For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Homework & Coursework Questions

How to display certain line of file only using head or tail in 1 command?

First month learning about the Linux terminal and it has been a challenge yet fun so far. We're learning by using a gameshell. I'm trying to display a certain line ( only allowed 1 command ) from a file only using the head or tail. I'm pretty about this answer: head -23 history.txt | tail -1... (1 Reply)
Discussion started by: forzatekk
1 Replies

2. UNIX for Dummies Questions & Answers

Quick UNIX command to display specific lines in the middle of a file from/to specific word

This could be a really dummy question. I have a log text file. What unix command to extract line from specific string to another specific string. Is it something similar to?: more +/"string" file_name Thanks (4 Replies)
Discussion started by: aku
4 Replies

3. Homework & Coursework Questions

Head Tail Problem

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: view the 7th line of the program xxx.sh 2. Relevant commands, code, scripts, algorithms: head command tail... (10 Replies)
Discussion started by: hbell221
10 Replies

4. UNIX for Dummies Questions & Answers

Display lines 30 to 40 of a text file using head and/or tail commands

Assume that the text file contains over 40 lines. How do you do this?!?!? (5 Replies)
Discussion started by: phunkypants
5 Replies

5. Shell Programming and Scripting

Imitate head and tail command script

Hi, I have been given assignment of 30 scripts out of which I was able to solve many, I need help with few out of which one asks to imitate head and tail command of unix without using the head and tail commands. Problem is stated below: Write an interactive shell script to imitate the head... (5 Replies)
Discussion started by: nutalk
5 Replies

6. Shell Programming and Scripting

Drop common lines at head/tail of a large set of files

Hi! I have a large set of pairs of text files (each pair in their own subdirectory) and each pair shares head/tail (a couple of first and last lines) but differs in the middle part. I need to delete the heads/tails and keep only the middle portions in which they differ. The lengths of heads/tails... (1 Reply)
Discussion started by: dobryden
1 Replies

7. Shell Programming and Scripting

Head and Tail in One Line

I am new to UNIX......I have one file which contains thousnads of records with header and tailer. Header Record 1 Record 2 .... .... Last Record Trailer I want to concatenate Header and Trailer in the first line....now the output should look like this: Header: Header value, Trailer:... (2 Replies)
Discussion started by: 33junaid
2 Replies

8. UNIX for Dummies Questions & Answers

head & tail

I've a major file which includes other files and now I wanna 'cut' the file in several minor parts....like .... find / -name "*.tmp" >filea wc -l filea >fileb sed -e '1s/ filea//' fileb >filec AMOUNT=`cat filec` if ; then cat file a |head -100l (ell) |tail -100l >filec cat file a |head... (6 Replies)
Discussion started by: svennie
6 Replies

9. Shell Programming and Scripting

Implementing MORE,HEAD & TAIL

hai in my shell script i want to replace the following commands 1) more 2) head 3) tail i want to try all type of possible options avaliabul in the above commands please help in implementing those commands (9 Replies)
Discussion started by: g_s_r_c
9 Replies
Login or Register to Ask a Question