Get string before specific word in UNIX


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Get string before specific word in UNIX
# 1  
Old 11-15-2016
Get string before specific word in UNIX

Hi All,

I'm writing unix shell script and I have these files. I need to get name before _DETL.tmp.

Code:
ABC_AAA_DETL.tmp
ABC_BBB_DETL.tmp
ABC_CCC_DETL.tmp
PQR_DETL.tmp
DEF_DETL.tmp
JKL_DETL.tmp
YUI_DETL.tmp
TG_NM_DDD_DETL.tmp
TG_NM_EEE_DETL.tmp
GHJ_DETL.tmp
RTY_DETL.tmp

output will be

Code:
ABC_AAA
ABC_BBB
ABC_CCC
PQR
DEF
JKL
YUI
TG_NM_DDD
TG_NM_EEE
GHJ
RTY

AWK can be used to get with $1...$n, but here number of words between _ delimiter is different. Can someone give me an idea?


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 11-15-2016 at 12:31 PM.. Reason: Added CODE tags.
# 2  
Old 11-15-2016
Hello ace_friends22,

Could you please try following and let me know if this helps you.
Code:
 awk -F"_DETL" '{print $1}'   Input_file

EDIT: If you want to look for file ending with *.tmp then following may help you in same.
Code:
for file in *.tmp; do echo $file | awk -F"_DETL" '{print $1}'; done
OR
for file in *.tmp
do
     echo $file | awk -F"_DETL" '{print $1}'
done

Thanks,
R. Singh

Last edited by RavinderSingh13; 11-15-2016 at 01:01 PM.. Reason: Added one more solution on same too successfully now.
# 3  
Old 11-15-2016
Try
Code:
for FN in *.tmp; do echo ${FN%%_DETL*}; done

# 4  
Old 11-15-2016
Quote:
Originally Posted by RudiC
Try
Code:
for FN in *.tmp; do echo ${FN%%_DETL*}; done

IIf there are other files in the current directory that end in .tmp, but not in _DETL.tmp, the above suggestion could produce some unwanted output. If this is a problem in your environment, you might want to try this slight modification:
Code:
for FN in *_DETL.tmp; do echo "${FN%_*}"; done

This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. 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

2. Shell Programming and Scripting

Shell scripting: frequency of specific word in a string and statistics

Hello friends, I need a BIG help from UNIX collective intelligence: I have a CSV file like this: VALUE,TIMESTAMP,TEXT 1,Sun May 05 16:13:05 +0000 2013,"RT @gracecheree: Praying God sends me a really great man one day. Gotta trust in his timing. 0,Sun May 05 16:13:05 +0000 2013,@sendi__... (19 Replies)
Discussion started by: kraterions
19 Replies

3. Shell Programming and Scripting

Help with calculating frequency of specific word in a string

Input file: #read_1 AWEAWQQRZZZQWQQWZ #read_2 ZZAQWRQTWQQQWADSADZZZ #read_3 POGZZZZZZADWRR . . Desired output file: #read_1 3 #read_1 1 #read_2 2 #read_2 3 #read_3 6 . . (3 Replies)
Discussion started by: perl_beginner
3 Replies

4. UNIX for Dummies Questions & Answers

How to print line starts with specific word and contains specific word using sed?

Hi, I have gone through may posts and dint find exact solution for my requirement. I have file which consists below data and same file have lot of other data. <MAPPING DESCRIPTION ='' ISVALID ='YES' NAME='m_TASK_UPDATE' OBJECTVERSION ='1'> <MAPPING DESCRIPTION ='' ISVALID ='NO'... (11 Replies)
Discussion started by: tmalik79
11 Replies

5. Shell Programming and Scripting

break the string and print it in a new line after a specific word

Hi Gurus I am new to this forum.. I am using HP Unix OS. I have one single string in input file as shown below Abc123 | cde | fgh | ghik| lmno | Abc456 |one |two |three | four | Abc789 | five | Six | seven | eight | Abc098 | ........ I want to achive the result in a output file as shown... (3 Replies)
Discussion started by: kannansr621
3 Replies

6. Shell Programming and Scripting

Parse a String for a Specific Word

Hello, I'm almost there with scripting, and I've looked at a few examples that could help me out here. But I'm still at a lost where to start. I'm looking to parse each line in the log file below and save the output like below. Log File AABBCGCAT022|242|3 AABBCGCAT023|243|4... (6 Replies)
Discussion started by: ravzter
6 Replies

7. Shell Programming and Scripting

search-word-print-specific-string

Hi, Our input xml looks like: <doc> <str name="account_id">1111</str> <str name="prd_id">DHEP155EK</str> </doc> - <doc> <str name="account_id">6666</str> <str name="prd_id">394531662</str> </doc> - <doc> <str name="account_id">6666</str> <str... (1 Reply)
Discussion started by: Jassz
1 Replies

8. Shell Programming and Scripting

awk or sed command to print specific string between word and blank space

My source is on each line 98.194.245.255 - - "GET /disp0201.php?poc=4060&roc=1&ps=R&ooc=13&mjv=6&mov=5&rel=5&bod=155&oxi=2&omj=5&ozn=1&dav=20&cd=&daz=&drc=&mo=&sid=&lang=EN&loc=JPN HTTP/1.1" 302 - "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.0.3705; .NET CLR... (5 Replies)
Discussion started by: elamurugu
5 Replies

9. Shell Programming and Scripting

search a word and print specific string using awk

Hi, I have list of directory paths in a variable and i want to delete those dirs and if dir does not exist then search that string and get the correct path from xml file after that delete the correct directory. i tried to use grep and it prints the entire line from the search.once i get the entire... (7 Replies)
Discussion started by: dragon.1431
7 Replies

10. Shell Programming and Scripting

Finding a word at specific location in a string

Hi All , I have different strings (SQL queries infact) of different lengths such as: 1. "SELECT XYZ FROM ABC WHERE ABC.DEF='123' " 2. "DELETE FROM ABC WHERE ABC.DEF='567'" 3. "SELECT * FROM ABC" I need to find out the word coming after the... (1 Reply)
Discussion started by: swapnil.nawale
1 Replies
Login or Register to Ask a Question