Query on Code


Login or Register for Dates, Times and to Reply

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Query on Code
# 1  
Query on Code

Hi All,

Can some one please explain the below code. Especially the %,* How it renaming the files and removing last field

Code:
for file in *.gz.*
do
 echo mv $file ${file%\.*}
done

i/p
Code:
abcd.gz.20151011.1

o/p
Code:
abcd.gz.20151011

# 2  
Yes, that's a "Parameter Expansion / Remove matching suffix pattern".


man bash:
Quote:
${parameter%word}
${parameter%%word}

Remove matching suffix pattern. The word is expanded to produce a pattern just as in pathname expansion. If the pattern matches a trailing portion of the
expanded value of parameter, then the result of the expansion is the expanded value of parameter with the shortest matching pattern (the ``%'' case) or the long‐
est matching pattern (the ``%%'' case) deleted.
These 2 Users Gave Thanks to RudiC For This Post:
# 3  
Hello nag_sathi,

This is called "parameter expansion" see following from documentation.

Quote:
${parameter%word}
${parameter%%word}
The word is expanded to produce a pattern and matched according to the rules described below (see Pattern Matching). If the pattern matches If the pattern matches a trailing portion of the expanded value of parameter, then the result of the expansion is the value of parameter with the shortest matching pattern (the ‘%’ case) or the longest matching pattern (the ‘%%’ case) deleted. If parameter is ‘@’ or ‘*’, the pattern removal operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable subscripted with ‘@’ or ‘*’, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list
Here is the link for understanding parameter expansion too.
Shell Parameter Expansion (Bash Reference Manual)

I hope this helps.

Thanks,
R. Singh
These 2 Users Gave Thanks to RavinderSingh13 For This Post:
# 4  
Quote:
Originally Posted by nag_sathi
[..]
Code:
for file in *.gz.*
do
 echo mv $file ${file%\.*}
done

[..]
Further notes:
  • The backslash serves no purpose here, you can leave it out.
  • There should be double quotes around the variable expansions "$file" "${file%.*}"
  • It is best to put -- (end of options) after mv
These 2 Users Gave Thanks to Scrutinizer For This Post:
Login or Register for Dates, Times and to Reply

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #674
Difficulty: Medium
Wi-Fi does not use any parts of the IEEE 803 protocol.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell Script to execute Oracle query taking input from a file to form query

Hi, I need to query Oracle database for 100 users. I have these 100 users in a file. I need a shell script which would read this User file (one user at a time) & query database. For instance: USER CITY --------- ---------- A CITY_A B CITY_B C ... (2 Replies)
Discussion started by: DevendraG
2 Replies

2. Programming

JDBC code to pass the SQL query as parameter and execute?

Below i have the sample code. i need to pass the entire query from file or as parameter and read the results and write into a output file. here the number of columns are unknown. some times it may be 2,3 or entire columns from the table. read all the column results and write into a comma... (0 Replies)
Discussion started by: laknar
0 Replies

3. Shell Programming and Scripting

html code in SQL query

Hi expert, I have a script which is connecting with sql internally, fetch same data, store it in a file and then from os I cat this file and sending it to mail (windows outlook). This is working fine, I just need to know wether we can add some html codes with the sql query like we can add... (0 Replies)
Discussion started by: mcagaurav
0 Replies

4. Shell Programming and Scripting

want to query : YES or NO

hi i want to make script. where i want to query from the user yes or no exp: do you want to proceed : y for yes n for NO. how this is possible in unix (3 Replies)
Discussion started by: dodasajan
3 Replies

5. Shell Programming and Scripting

Query Oracle tables and return values to shell script that calls the query

Hi, I have a requirement as below which needs to be done viz UNIX shell script (1) I have to connect to an Oracle database (2) Exexute "SELECT field_status from table 1" query on one of the tables. (3) Based on the result that I get from point (2), I have to update another table in the... (6 Replies)
Discussion started by: balaeswari
6 Replies

6. Shell Programming and Scripting

Query

hi i am producing txt outputs of archives created by our tsm software. problem is some of these files are too large to open in excel so i can despatch. here is a example of the output TAG_460 /prod_bak 7 FILE /ARCHIVE/Whistles- ... (4 Replies)
Discussion started by: treds
4 Replies

7. Shell Programming and Scripting

add the output of a query to a variable to be used in another query

I would like to use the result of a query in another query. How do I redirect/add the output to another variable? $result = odbc_exec($connect, $query); while ($row = odbc_fetch_array($result)) { echo $row,"\n"; } odbc_close($connect); ?> This will output hostnames: host1... (0 Replies)
Discussion started by: hazno
0 Replies

8. Shell Programming and Scripting

Excel related query for the code..need help..

find /A/B/C/{1,3,5,7} -name "*.txt" -o -name "*.csv" -o -name "*.TXT" -o -name "*.dat" |xargs ls -ltr |awk '{print $8 ,$9}' > result.xls it will give the result that is $8 and &9 in the result file... let say i need the result is a excel file....and i need the result to be print like $8 field... (10 Replies)
Discussion started by: sapan123
10 Replies

9. UNIX for Dummies Questions & Answers

query

hi, how can i do the following..... i have file containing followig a k 10000 b c 200000 d e 50 a j 40 how can i list all rows containg last value more than 1000? and how can i find number of blank rows in the file? THANKS! regards vivek (2 Replies)
Discussion started by: vivekshankar
2 Replies

10. UNIX for Advanced & Expert Users

query

hello, i am working as aix system administrator, what is the major difference between aix and sun solaris ..os. what r the area difficult in solaris for aix administrator .............................. (1 Reply)
Discussion started by: varadakumar
1 Replies

Featured Tech Videos