Sponsored Content
Full Discussion: Cut command
Top Forums Shell Programming and Scripting Cut command Post 302906489 by Don Cragun on Friday 20th of June 2014 03:57:48 AM
Old 06-20-2014
Invoking cut twice or ls, xargs, and basename are very expensive ways to do this.

Making a several assumptions about what is wanted here (and only using shell built-ins):
Code:
#!/bin/ksh
path="/a/bc_de/fe_rt/ghl/CW_CA_CA_20140128_150752.xml"

if [ ! -e "$path" ]
then	printf "ls: %s: No such file or directory\n" "$path" >&2
	exit 1
fi
out=${path##*[![:digit:]]_}
out=${out%.*}
printf "%s\n" "$out"

produces the output:
Code:
20140128_150752

if the file exists, and writes the diagnostic:
Code:
ls: /a/bc_de/fe_rt/ghl/CW_CA_CA_20140128_150752.xml: No such file or directory

to standard error output and exits with a non-zero exit status if it doesn't exist.

Of course, however, this doesn't give you the localized diagnostics you should get from ls if you're using a non-English locale.

Although this was tested using the Korn shell, this will work with any shell that performs the parameter expansions required by the POSIX standards (such as ksh and bash).

Last edited by Don Cragun; 06-20-2014 at 04:58 AM.. Reason: Fix tag.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

CUT Command

Hi, Can anyone tell me if I can apply multiple cut on a single variable like below in a sh script: tmp=`cut -c 1-4 $val` tmp1=`cut -c 5-12 $val` tmp2=`cut -c 13-18 $val` If not, what is the other way to do this. Thanks and Best Regards Shoeb (17 Replies)
Discussion started by: shoeb_syed
17 Replies

2. UNIX for Dummies Questions & Answers

Cut Command help

Hi , I am new to Unix.I have a shell script whenere I wnat to find if a particular server is running and kill all the instances of it (running on different ports) script filename to start the srever is say abcd If i do ps -eaf | grep abc I get all the instances of srever running .In the... (1 Reply)
Discussion started by: shradham
1 Replies

3. AIX

Use of Cut Command

Hi All, Can anyone tell me how to use cut command?I have tried but its not working...Please find the details below : $ cat file1 SlNo. E_ID E_Name Age Dept 1 123 A 20 Electrical 2 124 B 20 Electronics 3 125 C 24 Computer 4 126 D 23 Mechanical ... (3 Replies)
Discussion started by: Puja Sharma
3 Replies

4. Shell Programming and Scripting

cut command help

n2=user1 pts/3 2010-06-29 01 Now i want to split this string with space(' ') character. After splitting output would be: use1 pts/3 2010-06-29 01 I did: nn=${n2} | cut -d ' ' -f2 echo ${nn} It prints nothing. I want the output: pts/3 (2 Replies)
Discussion started by: cola
2 Replies

5. Shell Programming and Scripting

Cut Command error cut: Bad range

Hi Can anyone what I am doing wrong while using cut command. for f in *.log do logfilename=$f Log "Log file Name: $logfilename" logfile1=`basename $logfilename .log` flength=${#logfile1} Log "file length $flength" from_length=$(($flength - 15)) Log "from... (2 Replies)
Discussion started by: dgmm
2 Replies

6. UNIX for Dummies Questions & Answers

Cut pid from ps using cut command

hay i am trying to get JUST the PID from the ps command. my command line is: ps -ef | grep "mintty" | cut -d' ' -f2 but i get an empty line. i assume that the delimiter is not just one space character, but can't figure out what should i do in order to do that. i know i can use awk or cut... (8 Replies)
Discussion started by: ran ber
8 Replies

7. AIX

Need help on cut command

HI, i have data in one variable like out=/usr/sbin/filename and i want output like only out=filename how to do (5 Replies)
Discussion started by: sumanthupar
5 Replies

8. Shell Programming and Scripting

Cut command

Hi All, I am a beginner learning shell script, Would it be possible to use -c and -f in cut command together ? Example : /opt/oracle/work/Antony/Shell_Script> cat shortlist 2233|a.k. shukula |g.m. |sales2 |12/12/52 |6000 1006|chanchal singhvi ... (3 Replies)
Discussion started by: Antony Ankrose
3 Replies

9. UNIX for Beginners Questions & Answers

Cut command: can't make it cut fields

I'm a complete beginner in UNIX (and not a computer science student either), just undergoing a tutoring course. Trying to replicate the instructions on my own I directed output of the ls listing command (lists all files of my home directory ) to My_dir.tsv file (see the screenshot) to make use of... (9 Replies)
Discussion started by: scrutinizerix
9 Replies
pwd(1)								   User Commands							    pwd(1)

NAME
pwd - return working directory name SYNOPSIS
/usr/bin/pwd DESCRIPTION
The pwd utility writes an absolute path name of the current working directory to standard output. Both the Bourne shell, sh(1), and the Korn shell, ksh(1), also have a built-in pwd command. ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of pwd: LANG, LC_ALL, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 Successful completion. >0 An error occurred. If an error is detected, output will not be written to standard output, a diagnostic message will be written to standard error, and the exit status will not be 0. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
cd(1), ksh(1), sh(1), shell_builtins(1), attributes(5), environ(5), standards(5) DIAGNOSTICS
``Cannot open ..'' and ``Read error in ..'' indicate possible file system trouble and should be referred to a UNIX system administrator. NOTES
If you move the current directory or one above it, pwd may not give the correct response. Use the cd(1) command with a full path name to correct this situation. SunOS 5.10 28 Mar 1995 pwd(1)
All times are GMT -4. The time now is 05:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy