How to use ls with pattern and including path?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to use ls with pattern and including path?
# 15  
Old 08-21-2014
Hello Don,

Below is the print containing the Linux version, shell used (bash) and script ( ls -lst abc*.txt ). As you can see there are another file names
that not begin with abc in the list. They are highlighted in red.
Code:
bbt@ax-1:~>% uname -a
Linux ax-1 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x8664 x8664 x8664 GNU/Linux
bbt@ax-1:~>%
bbt@ax-1:~>% echo $SHELL
/bin/bash
bbt@ax-1:~>%
bbt@ax-1:/voddf/bbts/ax-abc/files>% ls -lst abc*.txt
 4220 -rw-r--r-- 1 bbt voddf 6766 Aug 21 09:19 abc-hjki1.txt
  108 -rw-r--r-- 1 bbt voddf 5215 Aug 21 09:19 abc-fgkp1.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 21 09:13 abc-fgkp11.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 21 06:26 abc-hjki11.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 20 19:40 abc-hjki12.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 20 17:22 abc-fgkp12.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 20 13:34 zabc-hjki13.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 20 08:29 0zabc-fgkp13.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 20 07:10 00zabc-hjki14.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 19 19:27 abc-hjki15.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 19 17:00 abc-fgkp14.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 19 13:06 abc-hjki16.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 19 07:36 abc-fgkp15.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 19 06:29 abc-hjki17.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 18 18:33 abc-hjki18.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 18 15:36 abc-fgkp16.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 18 11:53 abc-hjki19.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 18 05:31 abc-fgkp17.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 18 04:53 abc-hjki110.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 17 18:32 abc-hjki111.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 17 15:13 abc-fgkp18.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 17 12:54 abc-hjki112.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 17 06:15 abc-hjki113.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 17 04:42 abc-fgkp19.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 16 19:41 abc-hjki114.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 16 14:50 abc-fgkp110.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 16 13:26 abc-hjki115.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 16 05:47 abc-fgkp111.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 15 16:01 abc-fgkp112.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 15 07:34 abc-fgkp113.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 14 16:36 abc-fgkp114.txt
10260 -rw-r--r-- 1 bbt voddf 1048 Aug 14 07:02 abc-fgkp115.txt

Thanks for the help.
# 16  
Old 08-21-2014
That is very strange.

Code:
$ touch zabc
$ ls abc*
ls: cannot access abc*: No such file or directory
$

And yes, it is a difference in your shell. The expansion of * happens before ls runs.

BASH is very configurable, it's possible somebody enabled a bizarre option by default. It's also possible for the value of $SHELL to be wrong under some circumstances. Post the output of shopt in that shell, please.

Last edited by Corona688; 08-21-2014 at 12:46 PM..
# 17  
Old 08-21-2014
Hello Corona688,

I've change to ksh and the output of the same ls command prints correctly only files that begin with abc. It seems is an issue with bash shell like you said.

Below is shopt print in bash shell.
Code:
bbt@ax-1:/voddf/bbts/ax-abc/files>% shopt
cdable_vars     off
cdspell         off
checkhash       off
checkwinsize    on
cmdhist         on
dotglob         off
execfail        off
expand_aliases  on
extdebug        off
extglob         off
extquote        on
failglob        off
force_fignore   on
gnu_errfmt      off
histappend      off
histreedit      off
histverify      off
hostcomplete    on
huponexit       off
interactive_comments    on
lithist         off
login_shell     on
mailwarn        off
no_empty_cmd_completion off
nocaseglob      off
nocasematch     off
nullglob        off
progcomp        on
promptvars      on
restricted_shell        off
shift_verbose   off
sourcepath      on
xpg_echo        off

Thanks for the help.
# 18  
Old 08-21-2014
Quote:
Originally Posted by Ophiuchus
Hello Corona688,

I've change to ksh and the output of the same ls command prints correctly only files that begin with abc. It seems is an issue with bash shell like you said.
BASH doesn't usually do this. Have you customized your ~/.login or ~/.bashrc or ~/.bash_rc etc files at all? What's the value of IFS in BASH? printf "%s" "$IFS" | hexdump -C

Or there could be something strange like programmable completion gone awry happening.

Quote:
Below is shopt print in bash shell.
Code:
bbt@ax-1:/voddf/bbts/ax-abc/files>% shopt
cdable_vars     off
cdspell         off
checkhash       off
checkwinsize    on
cmdhist         on
dotglob         off
execfail        off
expand_aliases  on
extdebug        off
extglob         off
extquote        on
failglob        off
force_fignore   on
gnu_errfmt      off
histappend      off
histreedit      off
histverify      off
hostcomplete    on
huponexit       off
interactive_comments    on
lithist         off
login_shell     on
mailwarn        off
no_empty_cmd_completion off
nocaseglob      off
nocasematch     off
nullglob        off
progcomp        on
promptvars      on
restricted_shell        off
shift_verbose   off
sourcepath      on
xpg_echo        off

Thanks for the help.
Those look normal enough. I'm not sure what's happening here.

Last edited by Corona688; 08-21-2014 at 01:23 PM..
# 19  
Old 08-21-2014
Quote:
Originally Posted by Corona688
Have you customized your ~/.login or ~/.bashrc or ~/.bash_rc etc files at all? What's the value of IFS in BASH? printf "%s" "$IFS" | hexdump -C
I haven't change anything, this is an equipment that they gave me access to some folders only with a generic user.

The output of IFS is:
Code:
 printf "%s" "$IFS" | hexdu mp -C
00000000  20 09 0a                                          | ..|
00000003

By the way, what is IFS?

Regards
# 20  
Old 08-21-2014
The characters the shell uses to separate input fields are listed in IFS (by default space, tab, and newline; which is what you see in your output).

Maybe we have some backspaces in some of these filenames. Please post the output from the command:
Code:
printf "%s\n" *00z* *113*abc*.txt abc*113*.txt|od -cb

# 21  
Old 08-21-2014
Quote:
Originally Posted by Don Cragun
Maybe we have some backspaces in some of these filenames.
Then why wouldn't KSH see them?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete a pattern including any whitespace before it and after it

Hello. A_LIGNE="cnezJ,V ,FMZ fd,Mok CODKJ,F SOME_WORD fcnQ, VMQKV Q" A_PATTERN="SOME_WORD" sed 's/'$A_PATTERN'//g' <<< "$A_LINE"will remove 'SOME_WORD' and give : "cnezJ,V ,FMZ fd,Mok CODKJ,F fcnQ, VMQKV Q"A_PATTERN="SOME_WORD]" sed 's/'$A_PATTERN'//g' <<< "$A_LINE"will remove... (4 Replies)
Discussion started by: jcdole
4 Replies

2. Shell Programming and Scripting

Comment all lines which are not already commented for each full path pattern matched

Hello. Question 1 : I want to comment out all lines of a cron file which are not already commented out for each full path pattern matched. Example 1 nothing to do because line is already commented out; pattern = '/usr/bin/munin-cron' # */5 * * * * munin test -x... (3 Replies)
Discussion started by: jcdole
3 Replies

3. Shell Programming and Scripting

Find and replace the path value in files, pattern is not full known.

Hi, I need to do find and replace, but the pattern is not full known. for example, my file has /proj/app-d1/sun or /data/site-d1/conf here app-d1 and site-d1 is not constant. It may be different in different files. common part is /proj/xx/sun and /data/xxx/conf i want to find where ever... (6 Replies)
Discussion started by: rbalaj16
6 Replies

4. Shell Programming and Scripting

Pattern match a path anywhere in the line and replace it with new path

I want to pattern match only path part from below and replace them with new path string. LoadModule jk_module /fldrA/fldrBaf/fldrCaa/modules/mod_jk.so JkWorkersFile /fldrA/fldrBaf/fldrCaa/config/OHS/ohs1/workers.properties JkLogFile... (4 Replies)
Discussion started by: kchinnam
4 Replies

5. Shell Programming and Scripting

Including EOL in egrep pattern for multiple lines

Hi all I need your help to get a high-performance solution. I am working on a extensive script to automate file restores using the bprestore tool on a Solaris 5.10 server (bash 3.00). I will only paste the needed parts of the script to avoid any confusion. To use the script the user has to... (2 Replies)
Discussion started by: Anonym
2 Replies

6. Shell Programming and Scripting

Find file and zip without including directory path

Does anyone know of a way to zip the resulting file from a find command? My approach below finds the file and zips the entire directory path, which is not what I need. After scanning the web, it seems to be much easier to perform gzip, but unfortunately the approach must use zip. find `$DIR`... (5 Replies)
Discussion started by: koeji
5 Replies

7. Shell Programming and Scripting

remove contents including the tag if pattern matches

Hi all, Can anyone help me on this. I have several WP sites that are affected by sql injections. But the contents are different as follows western union india belgaum western union india bolegaon western union india barhaj western union india budhana western union india belda western... (6 Replies)
Discussion started by: sanjuabraham
6 Replies

8. Shell Programming and Scripting

Search for Pattern and Print including Lines in between

Gurus, I have a big file that needs to be sorted out and I cant figure out what to do. The file name is as below: Name: xxxx yyyy nnnn Description: dfffgs sdgsgsf hsfhhs afgghhjdgj fjklllll gsfhfh Updated: jafgadsgg gsg Corrected: date today The file consists of line like these. ... (13 Replies)
Discussion started by: The One
13 Replies

9. Shell Programming and Scripting

sed: Find start of pattern and extract text to end of line, including the pattern

This is my first post, please be nice. I have tried to google and read different tutorials. The task at hand is: Input file input.txt (example) abc123defhij-E-1234jslo 456ujs-W-abXjklp From this file the task is to grep the -E- and -W- strings that are unique and write a new file... (5 Replies)
Discussion started by: TestTomas
5 Replies

10. Shell Programming and Scripting

Reading a path (including ref to shell variable) from file

Hi! 1. I have a parameter file containing path to log files. For this example both paths are the same, one is stated directly and the second using env variables. /oracle/admin/orcl/bdump/:atlas:trc:N ${ORACLE_BASE}/admin/${ORACLE_SID}/bdump/:${ORACLE_SID}:trc:N 2. I try to parse the path... (1 Reply)
Discussion started by: lojzev
1 Replies
Login or Register to Ask a Question