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) User Commands 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.
With no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options too.
-b, --bytes=LIST
select only these bytes
-c, --characters=LIST
select only these characters
-d, --delimiter=DELIM
use DELIM instead of TAB for field delimiter
-f, --fields=LIST
select only these fields; also print any line that contains no delimiter character, unless the -s option is specified
-n (ignored)
--complement
complement the set of selected bytes, characters or fields
-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
-z, --zero-terminated
line delimiter is NUL, not newline
--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. Selected input is written
in the same order that it is read, and is written exactly once. 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
AUTHOR
Written by David M. Ihnat, David MacKenzie, and Jim Meyering.
REPORTING BUGS
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Report cut translation bugs to <http://translationproject.org/team/>
COPYRIGHT
Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO
Full documentation at: <http://www.gnu.org/software/coreutils/cut>
or available locally via: info '(coreutils) cut invocation'
GNU coreutils 8.28 January 2018 CUT(1)