12-18-2007
Although Mark's is an elegant solution, there's a simpler way to do and still remain independent of filename length: use cut's field delimiter option:
f=NLL_NAM_XXXXX.XXXXXXX_1_1.txt
s=`echo $f | cut -d "_" -f3`
echo "$f -> $s"
Here, we tell cut to use underscore ("_") as the field delimiter. cut now sees the string as five fields (NLL, NAM, XXXXX.XXXXXXX, 1 and 1.txt respectively) and spits out the third.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi there,
I'm having some problem with UNIX scripting (ksh), perhaps somebody can help me out?
For example:
------------
Sample content of my log file (text file):
--------------------------------------
File1: ....
info_1 ...
info_2 ...
info_3 ...
File2: ....
info_1 ...
info_2 ...... (10 Replies)
Discussion started by: superHonda123
10 Replies
2. Shell Programming and Scripting
Hi,
I have a string like this
BUNDLE=/home/bob/flx/user.bun
how to extract only the the last part ie, only user.bun (2 Replies)
Discussion started by: vprasads
2 Replies
3. Shell Programming and Scripting
I need to extract the following lines from this text and put it in different files.
From xxxx@gmail.com Thu Jun 10 21:15:46 2010
Return-Path: <xxxxx@gmail.com>
X-Original-To: xxx@localhost
Delivered-To:xxxx@localhost
Received: from ubuntu (localhost )
by ubuntu (Postfix) with ESMTP... (11 Replies)
Discussion started by: waxo
11 Replies
4. Shell Programming and Scripting
Hi friends,
I want to select and use the certain part of a line. For example I have the following line
home/1245/hgdf/acsdf/myhome/afolder/H2O/endfile
how can I extract the part " /myhome/afolder/H2O/endfile "
thanks (6 Replies)
Discussion started by: rpf
6 Replies
5. Shell Programming and Scripting
I have a file with 100s of lines of text. I want to perform an extraction of this line:
Info bpzs(pid=2652) using 1000 bits
I have not been able to extract it. Should I try expr match or is there another method? This line has data both in front of and in back of it. I do not have grep -o... (5 Replies)
Discussion started by: newbie2010
5 Replies
6. Shell Programming and Scripting
Hello All,
I need to extract part of a file into a new file
My file is
Define schema xxxxxx
Insert into table
(
a
,b
,c
,d
)
values
(
1,
2,
3, (15 Replies)
Discussion started by: nnani
15 Replies
7. Shell Programming and Scripting
I have a text file, input.fasta contains some protein sequences. input.fasta is shown below.
>P02649
MKVLWAALLVTFLAGCQAKVEQAVETEPEPELRQQTEWQSGQRWELALGRFWDYLRWVQT
LSEQVQEELLSSQVTQELRALMDETMKELKAYKSELEEQLTPVAEETRARLSKELQAAQA
RLGADMEDVCGRLVQYRGEVQAMLGQSTEELRVRLASHLRKLRKRLLRDADDLQKRLAVY... (8 Replies)
Discussion started by: rahim42
8 Replies
8. UNIX for Advanced & Expert Users
Hi,
I have a string with name as 20140412-s1-Potopolive_promos_20140412. So I want to extract only Potopolive string. Could you please help me the command.
O/p : Potopolive
Thx in advance (5 Replies)
Discussion started by: lkeswar
5 Replies
9. Programming
I need to save part of a file to a different one, start and end offset bytes are provided by two counters in long format. If the difference is big, how should I do it to prevent buffer overflow in java? (7 Replies)
Discussion started by: Tribe
7 Replies
10. Shell Programming and Scripting
I have a variable and assigned the following values
***XYZ_201519_20150929140642_20150929140644_211_0_0_211
I need to read this variable from backward and stop read when I get first underscore (_)
In this scenario I should get 211
Thanks
Kris (3 Replies)
Discussion started by: mkris
3 Replies
CUT(1) FSF CUT(1)
NAME
cut - remove sections from each line of files
SYNOPSIS
cut [OPTION]... [FILE]...
DESCRIPTION
Print selected parts of lines from each FILE to standard output.
Mandatory arguments to long options are mandatory for short options too.
-b, --bytes=LIST
output only these bytes
-c, --characters=LIST
output only these characters
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-f, --fields=LIST
output only these fields; also print any line that contains no delimiter character, unless the -s option is specified
-n with -b: don't split multibyte characters
-s, --only-delimited
do not print lines not containing delimiters
--output-delimiter=STRING
use STRING as the output delimiter the default is to use the input delimiter
--help display this help and exit
--version
output version information and exit
Use one, and only one of -b, -c or -f. Each LIST is made up of one range, or many ranges separated by commas. Each range is one of:
N N'th byte, character or field, counted from 1
N- from N'th byte, character or field, to end of line
N-M from N'th to M'th (included) byte, character or field
-M from first to M'th (included) byte, character or field
With no FILE, or when FILE is -, read standard input.
AUTHOR
Written by David Ihnat, David MacKenzie, and Jim Meyering.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU-
LAR PURPOSE.
SEE ALSO
The full documentation for cut is maintained as a Texinfo manual. If the info and cut programs are properly installed at your site, the
command
info cut
should give you access to the complete manual.
cut (coreutils) 4.5.3 February 2003 CUT(1)