Sponsored Content
Full Discussion: In need of explanation
Top Forums UNIX for Dummies Questions & Answers In need of explanation Post 302373263 by skmdu on Friday 20th of November 2009 12:27:45 AM
Old 11-20-2009
Hi,

Code:
Meaning of different operator.. This might help you to understand about %% and ##

Operator "#" means "delete from the left, to the first case of what follows."
         $ x="This is my test string."
$ echo ${x#* } is my test string.
Operator "##" means "delete from the left, to the last case of what follows."
$ x="This is my test string." $ echo ${x##* } string.
Operator "%" means "delete from the right, to the first case of what follows."
$ x="This is my test string." $ echo ${x% *} This is my test
Operator "%%" means "delete from the right, to the last case of what follows."
$ x="This is my test string." $ echo ${x%% *} This

Now come to your example.

Code:
file1='Jane Mid Doe.txt'
newfile='Jane.txt'
 
 
1) ext=${file1##*.}  
    ## delete from left to last match. so here pattern is '*.' so left to right last match will give txt. ( it deletes Jane Mid Doe. ). Now ext = txt

2) filename=${file%%.???} ( I think here its not file, its file1).
  %% right to left to last match. and ? matches single character
so filename will Jane Mid Doe

3) set -- $filename
This is to set the $filename as an environment. so you can access through  $1, $2.. variables.
now $1 - Jane , $2 - Mid  and $3 - Doe
4) newfile="1.$extension" 
so in this statement you have to change 1 to $1

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

tr explanation please

how does below tr command replace nonletters with newlines? I think I understand tr -cs '\n' part.. but what is A-Za-z\' <--- what is this?? tr -cs A-Za-z\' '\n' | -c --complement -s, --squeeze-repeats replace each input sequence of a repeated character that is... (0 Replies)
Discussion started by: convenientstore
0 Replies

2. Shell Programming and Scripting

tr explanation please

how does below tr command replace nonletters with newlines? I think I understand tr -cs '\n' part.. but what is A-Za-z\' <--- what is this?? tr -cs A-Za-z\' '\n' | -c --complement -s, --squeeze-repeats replace each input sequence of a repeated character that is... (1 Reply)
Discussion started by: convenientstore
1 Replies

3. UNIX and Linux Applications

need explanation

Hi am having a c pgm. It has the include files (unistd.h,sys/types.h,win.h,scr.h,curses.h,stdarg.h and color.h). I don't know the purpose of these include files. will u plz explain me. (1 Reply)
Discussion started by: Mari.kb
1 Replies

4. Shell Programming and Scripting

Variable explanation

What does this part in the following code ? if ; then $t shows some time values for getting the response, but why .$t and what does the . after the != t=$(time -p wget --quiet --post-data='username=xxx&password=xxxx&id=xxxxxx' --no-check-certificate --output-document=/tmp/sms-status_out... (3 Replies)
Discussion started by: locutus01
3 Replies

5. Shell Programming and Scripting

same action in then as in else: explanation?

in /etc/init.d/networking of an ubuntu computer, I found this code: if ifdown -a --exclude=lo; then log_action_end_msg $? else log_action_end_msg $? fi Shouldn't it be replace by ifdown -a --exclude=lo ... (0 Replies)
Discussion started by: raphinou
0 Replies

6. Shell Programming and Scripting

code explanation

Can you please explain the following code plz? my_cd=' ' while getopts :e: OPTION; do case "$OPTION" in e) my_cd ="$OPTARG";; esac done if ; then echo " >>> ERROR - I am wrong" echo " >>> ERROR - Hello" exit 99 fi What I don't understand is what is OPTION or... (3 Replies)
Discussion started by: RubinPat
3 Replies

7. Shell Programming and Scripting

awk explanation

Hello, I have recently come across this awk program. Can some one shed some light on what is taking place. awk '{!a++}END{for(i in a) if ( a >10 ) print a,i }' $FILE Best Regards, jaysunn (1 Reply)
Discussion started by: jaysunn
1 Replies

8. UNIX for Dummies Questions & Answers

Explanation on egrep

Hi all I am new to egrep can someone please explain me what does the below Statement do egrep -v "^missing sales|^\ Thanks in advance Sri Please use next time code tags for your code and data (4 Replies)
Discussion started by: Sri3001
4 Replies

9. Shell Programming and Scripting

Need explanation

Hi, I need more explination on it, how it works abcd="$(echo "$abcd" | sed 's/ //g')" >> ${LOGFILE} 2>&1 can any one suggest me on this? Rgds, LKR (1 Reply)
Discussion started by: lakshmanraok
1 Replies

10. UNIX for Beginners Questions & Answers

Function explanation

dear sir, I am new to unix zone. need some explanation on the function used. cat /apps/prd/venue/code/bin/std.funcs #!/usr/bin/ksh #------------------------------------------------------------------- # printmsg: prints the message given in arg 1 with timestamp to # stdout... (3 Replies)
Discussion started by: gowthamsoft
3 Replies
GIT-CHECK-MAILMAP(1)                                                Git Manual                                                GIT-CHECK-MAILMAP(1)

NAME
git-check-mailmap - Show canonical names and email addresses of contacts SYNOPSIS
git check-mailmap [options] <contact>... DESCRIPTION
For each "Name <user@host>" or "<user@host>" from the command-line or standard input (when using --stdin), look up the person's canonical name and email address (see "Mapping Authors" below). If found, print them; otherwise print the input as-is. OPTIONS
--stdin Read contacts, one per line, from the standard input after exhausting contacts provided on the command-line. OUTPUT
For each contact, a single line is output, terminated by a newline. If the name is provided or known to the mailmap, "Name <user@host>" is printed; otherwise only "<user@host>" is printed. MAPPING AUTHORS
If the file .mailmap exists at the toplevel of the repository, or at the location pointed to by the mailmap.file or mailmap.blob configuration options, it is used to map author and committer names and email addresses to canonical real names and email addresses. In the simple form, each line in the file consists of the canonical real name of an author, whitespace, and an email address used in the commit (enclosed by < and >) to map to the name. For example: Proper Name <commit@email.xx> The more complex forms are: <proper@email.xx> <commit@email.xx> which allows mailmap to replace only the email part of a commit, and: Proper Name <proper@email.xx> <commit@email.xx> which allows mailmap to replace both the name and the email of a commit matching the specified commit email address, and: Proper Name <proper@email.xx> Commit Name <commit@email.xx> which allows mailmap to replace both the name and the email of a commit matching both the specified commit name and email address. Example 1: Your history contains commits by two authors, Jane and Joe, whose names appear in the repository under several forms: Joe Developer <joe@example.com> Joe R. Developer <joe@example.com> Jane Doe <jane@example.com> Jane Doe <jane@laptop.(none)> Jane D. <jane@desktop.(none)> Now suppose that Joe wants his middle name initial used, and Jane prefers her family name fully spelled out. A proper .mailmap file would look like: Jane Doe <jane@desktop.(none)> Joe R. Developer <joe@example.com> Note how there is no need for an entry for <jane@laptop.(none)>, because the real name of that author is already correct. Example 2: Your repository contains commits from the following authors: nick1 <bugs@company.xx> nick2 <bugs@company.xx> nick2 <nick2@company.xx> santa <me@company.xx> claus <me@company.xx> CTO <cto@coompany.xx> Then you might want a .mailmap file that looks like: <cto@company.xx> <cto@coompany.xx> Some Dude <some@dude.xx> nick1 <bugs@company.xx> Other Author <other@author.xx> nick2 <bugs@company.xx> Other Author <other@author.xx> <nick2@company.xx> Santa Claus <santa.claus@northpole.xx> <me@company.xx> Use hash # for comments that are either on their own line, or after the email address. GIT
Part of the git(1) suite Git 2.17.1 10/05/2018 GIT-CHECK-MAILMAP(1)
All times are GMT -4. The time now is 08:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy