Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Removing Part of a variable based on a pattern Post 302560263 by sgtbobie on Thursday 29th of September 2011 09:59:27 AM
Old 09-29-2011
Removing Part of a variable based on a pattern

Hi All,

I am writing a script to work with files in a folder.

The files are all in the following patterns (without quotes):

"some filename - NxNN - the end.YYY"

or

"some filename - NNxNN - the end.YYY"

Where N = a single number and YYY is the extension.

Basically what I want to do is put (without quotes) "some filename" into a variable, for further processing in the script. "some filename" and "the end" can be any length.

I can do it if I know in advance whether the file contains NxNN or NNxNN, but I can't figure out how to script it so that either pattern works.

e.g.

Code:
the_var=${filename% - [0-9]x[0-9][0-9] - *}

Specific example.

Files in directory :

first log - 1x05 - testing.txt
second file - 13x25 - logging.log
third from start - 3x03 - something.lst

Code:
home_dir=/Users/someone/
extracted_name=""

ls $home_dir | while read file_name
do
  ****extract start of file*****
  echo $extracted_name
done

Output should read :

first log
second file
third from start

Any ideas?
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

find the line starting with a pattern and save a part in variable

Hi i have a file which has mutiple line in it. inside that i have a pattern similar to this /abc/def/hij i want to fine the pattern starting with "/" and get the first word in between the the symbols "/" i.e. "abc" in this case into a variable. thanks in advance (13 Replies)
Discussion started by: kichu
13 Replies

2. Shell Programming and Scripting

Print a pattern between the xml tags based on a search pattern

Hi all, I am trying to extract the values ( text between the xml tags) based on the Order Number. here is the sample input <?xml version="1.0" encoding="UTF-8"?> <NJCustomer> <Header> <MessageIdentifier>Y504173382</MessageIdentifier> ... (13 Replies)
Discussion started by: oky
13 Replies

3. UNIX for Dummies Questions & Answers

sed or awk - removing part of line?

hi all, I am having trouble finding the right string for this - I dont know whether to use awk or sed.. If I have a file with alot of names and phone numbers like this McGowan,Sean 978-934-4000 Kilcoyne,Kathleen 603-555-1212 Club603,The 617-505-1332 Boyle,William 301-444-1221 And... (11 Replies)
Discussion started by: alis
11 Replies

4. Shell Programming and Scripting

removing part of a file

Right this is quite a long one, I have a script which complies all listed stats files into one file and emails it out, However this has to be run manually and i would like it to run automatically, I have a list of files eg sa17 sa18 sa19 sa20 sa21 one file for each of last weeks... (9 Replies)
Discussion started by: Bdoydie
9 Replies

5. Shell Programming and Scripting

Removing folders with specific name/part

Hi, I need a way to remove all folders that contain "Quick" in their names in a directory called /var/tmp... However all attemps I have tried won't work. :wall: I so far tried find /var/tmp -type d -name "Quick" | sudo xargs rm -rf find . -name "Quicklook" -exec rm -rf {} \; find .... (2 Replies)
Discussion started by: pasc
2 Replies

6. UNIX for Dummies Questions & Answers

Find next line based on pattern, if it is similar pattern skip it

Hi, I am able to get next line if it is matching a particular pattern. But i need a way to skip if next line also matches same pattern.. For example: No Records No Records Records found got it Records found Now i want to find 'Records found' after 'No Records' pattern matches.. ... (5 Replies)
Discussion started by: nagpa531
5 Replies

7. Shell Programming and Scripting

Splitting textfile based on pattern and name new file after pattern

Hi there, I am pretty new to those things, so I couldn't figure out how to solve this, and if it is actually that easy. just found that awk could help:(. so i have a textfile with strings and numbers (originally copy pasted from word, therefore some empty cells) in the following structure: SC... (9 Replies)
Discussion started by: luja
9 Replies

8. Shell Programming and Scripting

Discard part of a file based on a pattern ---

I have the file: s3_T0(2) Pos "1" "2" s1_T1(2) Pos "1" "2" --- 0 0 1 0 0 1 1 1 --- 1 2 "tau0" 1 2 "h10" I want to patternmatch on --- and get only the third part i.e. 1 2 "tau0" 1 2 "h10" I wanted to start simple but even something like (5 Replies)
Discussion started by: eagle_fly
5 Replies

9. UNIX for Dummies Questions & Answers

Removing PATTERN from txt without removing lines and general text formatting

Hi Everybody! First post! Totally noobie. I'm using the terminal to read a poorly formatted book. The text file contains, in the middle of paragraphs, hyphenation to split words that are supposed to be on multiple pages. It looks ve -- ry much like this. I was hoping to use grep -v " -- "... (5 Replies)
Discussion started by: AxeHandle
5 Replies
epylog-modules(5)						Applications/System						 epylog-modules(5)

NAME
epylog-modules - epylog module cofiguration. SYNOPSIS
epylog uses pluggable modules to perform analysis and report on syslog strings. This manpage explains the format of the module config files. modules.d Epylog config files are placed in the modules.d directory of the cfgdir specified in epylog.conf. Any file ending in .conf in that direc- tory is considered a module config file. Most common location for modules.d directory is in /etc/epylog/modules.d. module.conf The name of the config file doesn't carry much meaning, however it MUST end in .conf in order to be recognized as a module config file. The config file for each module is separated into two parts: [module] and [conf]. [module] desc The description of the module. It will be shown in the final report. exec This is where the "body" of the module is located. Most modules that come with the distribution will be placed in /usr/share/epy- log/modules, but depending on your setup, you may place them elsewhere. files List the logfiles requested by this module in this field. Separate multiple entries by comma. Epylog will handle rotated files, but you need to specify the mask appropriately. E.g. the most common logrotate setup will place rotated files in the same directory and add .0, .1, .2, etc to the end of the file. Therefore, a file entry would look like so: /var/log/filename[.#] If you have compression turned on, your entry will look like so: /var/log/filename[.#.gz] Lastly, for advanced configurations, more complex entries may be required. E.g. if your logrotate saves rotated files in a subdirec- tory in /var/log, you can specify it like so: /var/log/[rotate/]filename[.#.gz] This will work, too: /var/log/filename[/var/rotate/filename.#.gz] In any case, "#" will be where the increments will go. enabled Can be either "yes" or "no". If "no" is specified, Epylog will completely ignore this module. internal Can be either "yes" or "no". If "yes", then the module is handled as an internal module, and if "no", then the external module API is used. See doc/modules.txt for more information about the module APIs. outhtml Specifies whether the output produced by the module is HTML or not. Can be either "yes" or "no". priority An unsigned int. Most commonly a number from 0 to 10. Modules with the lowest number will be considered the highest prioroty and will be both invoked and presented in the final report before the others. [conf] This is where per-module configuration directives go. Some modules have these, some don't. Look in the module config file -- the available values should be listed and described there. COMMENTS
Lines starting with "#" will be considered commented out. AUTHORS
Konstantin Ryabitsev <icon@linux.duke.edu> SEE ALSO
epylog(8), Epylog(3), epylog.conf(5) Konstantin Ryabitsev 1.0 epylog-modules(5)
All times are GMT -4. The time now is 03:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy