Sponsored Content
Full Discussion: Getting part of a filename
Top Forums Shell Programming and Scripting Getting part of a filename Post 302540981 by radoulov on Friday 22nd of July 2011 05:53:52 AM
Old 07-22-2011
Using standard parameter expansion:

Code:
for f in ABC*XYZ.*; do
  _t=${f#???} _e=${_t#${_t%%???.*}}
  printf 'middle:\t%s\n' "${_t%$_e}"
  printf 'ext:\t%s\n' "${_e#???}"
done

Example output:


Code:
% ls -l
total 0
-rw-r--r-- 1 sysadmin None 0 Jul 22 11:41 ABC2049583XYZ.jpg
-rw-r--r-- 1 sysadmin None 0 Jul 22 11:42 ABCC2039458XYZ.png
-rw-r--r-- 1 sysadmin None 0 Jul 22 11:41 ABCN204867362XYZ.jpg
% for f in ABC*XYZ.*; do
  _t=${f#???} _e=${_t#${_t%%???.*}}
  printf 'middle:\t%s\n' "${_t%$_e}"
  printf 'ext:\t%s\n' "${_e#???}"
done  
middle: 2049583
ext:    .jpg
middle: C2039458
ext:    .png
middle: N204867362
ext:    .jpg

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

part of a filename

Hi, I need to extract only a part of the filenames of some files. The files are named this way : .tap_profile_SIT02 I want the "SIT02" part, which is not the same for each file. I was able to get what I want with bash, but not with ksh. Here is the command I used in bash : find... (8 Replies)
Discussion started by: flame_eagle
8 Replies

2. Shell Programming and Scripting

detecting the part of a filename

I like to have the date in the 2008-09-01 format at the beginning of my filenames. I then hyphenate after that and then have my filename. I have a script that creates this for me. However, I may be working on files that already have the date format already in there and so I don't want to have a... (4 Replies)
Discussion started by: mainegate
4 Replies

3. UNIX for Dummies Questions & Answers

Strip part from filename

I've many file like this 01-file 01_-_file 01_-_file 01_-_file 01_-_file 01-file I would remove bold part from filename. Suggestions?Thanks (4 Replies)
Discussion started by: cv313x
4 Replies

4. Shell Programming and Scripting

cut the some part in filename

Hi All, I have the file & name is "/a/b/c/d/e/xyz.dat" I need "/a/b/c/d/e/" from the above file name. I tryning with echo and awk. But it not come. Please help me in this regard. Thanks & Regards, Dathu (3 Replies)
Discussion started by: pdathu
3 Replies

5. Shell Programming and Scripting

insert part of a filename in a textfile

Hi All, I've got a textfile that i've stripped and edited using sed and want to insert part of the filename (original filename consists of: fw0204.txt.ncat_report.txt) but there are multiple files being delivered by an application to the data directory The part of the filename that I need to... (0 Replies)
Discussion started by: etquart
0 Replies

6. UNIX for Dummies Questions & Answers

to extract all the part of the filename before a particular word in the filename

Hi All, Thanks in Advance I am working on a shell script. I need some assistance. My Requirement: 1) There are some set of files in a directory like given below OTP_UFSC_20120530000000_acc.csv OTP_UFSC_20120530000000_faf.csv OTP_UFSC_20120530000000_prom.csv... (0 Replies)
Discussion started by: aealexanderraj
0 Replies

7. Programming

to extract all the part of the filename before a particular word in the filename

Hi All, Thanks in Advance I am working on a shell script. I need some assistance. My code: if then set "subscriber" "promplan" "mapping" "dedicatedaccount" "faflistSub" "faflistAcc" "accumulator"\ "pam_account"; for i in 1 2 3 4 5 6 7 8;... (0 Replies)
Discussion started by: aealexanderraj
0 Replies

8. Shell Programming and Scripting

Extract a part of a filename containing a particular word

Hi All, Thanks in Advance Shell Script or Perl Script I am working on a shell script. I need some assistance. My Requirement: 1) There are some set of files in a directory like given below OTP_UFSC_20120530000000_acc.csv OTP_UFSC_20120530000000_faf.csv... (7 Replies)
Discussion started by: aealexanderraj
7 Replies

9. UNIX for Dummies Questions & Answers

Replacing part of filename

Hi guys! I have quite a lot of files like all_10001_ct1212307460308.alf* and I want to get rid of the first number for all at once like: all_ct1212307460308.alf* How can I do this in the shell? (12 Replies)
Discussion started by: TimmyTiz
12 Replies

10. Shell Programming and Scripting

Finding the part of a filename

Hi, I am writing an ebuild for Gentoo Linux operating system. Writing an ebuild is about Bash scripting where I am a newbie. So, my ebuild must find a part of a specific filename. Such a filaname my look like this: libvclient_release_x64.so.740and I must to find the number at the and of... (18 Replies)
Discussion started by: csanyipal
18 Replies
regcmp(1)                                                          User Commands                                                         regcmp(1)

NAME
regcmp - regular expression compile SYNOPSIS
regcmp [-] filename... DESCRIPTION
The regcmp command performs a function similar to regcmp and, in most cases, precludes the need for calling regcmp from C programs. Bypass- ing regcmp saves on both execution time and program size. The command regcmp compiles the regular expressions in filename and places the output in filename.i. OPTIONS
- If the - option is used, the output is placed in filename.c. The format of entries in filename is a name (C variable) followed by one or more blanks followed by one or more regular expressions enclosed in double quotes. The output of regcmp is C source code. Compiled regular expressions are represented as extern char vectors. filename.i files may thus be #included in C programs, or filename.c files may be compiled and later loaded. In the C program that uses the regcmp output, regex(abc,line) applies the regu- lar expression named abc to line. Diagnostics are self-explanatory. EXAMPLES
Example 1: Examples of the regcmp command. name "([A-Za-z][A-Za-z0-9_]*)$0" telno "({0,1}([2-9][01][1-9])$0){0,1} *" "([2-9][0-9]{2})$1[ -]{0,1}" "([0-9]{4})$2" The three arguments to telno shown above must all be entered on one line. In the C program that uses the regcmp output, regex(telno, line, area, exch, rest) applies the regular expression named telno to line. ENVIRONMENT VARIABLES
A general description of the usage of the LC_* environmental variables can be found in environ(5). LC_CTYPE Determines how regcmp handles characters. When LC_CTYPE is set to a valid value, regcmp can display and handle text and filenames containing valid characters for that locale. LC_MESSAGES Determines how diagnostic and informative messages are presented. This includes the language and style of the messages, and the correct form of affirmative and negative responses. In the "C" locale, the messages are presented in the default form found in the program itself (in most cases, U.S. English). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWtoo | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ SEE ALSO
regcmp(3C), attributes(5), environ(5) SunOS 5.10 Dec 20 1996 regcmp(1)
All times are GMT -4. The time now is 06:58 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy