Using ls command


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using ls command
# 8  
Old 08-13-2015
Hello Guys,
Thanks a lot for your help.
However I have a new question now.
My file will be of type
Code:
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.SKIP
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.ERROR

I have got the answer of how to pick up FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT. But now the problem is DAT can be TXT and there can be lot of files . Like,

Code:
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.TXT
FORM_PTIR_9820_ANFDOP_20150716_00413562.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413563.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.SKIP
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.ERROR

So,
I cannot use ????_????_????_????OP_*.??? to transfer all files with OP in middle and ending with .DAT or.TXT to other folder.

????_????_????_????OP_*.???* will pick up .ERROR and .SKIP files as well, so how do I skip the .ERROR and .SKIP files and transfer rest to other folder ?

Please help

Last edited by Don Cragun; 08-13-2015 at 03:06 PM.. Reason: Add CODE and ICODE tags.
# 9  
Old 08-13-2015
I don't understand.
Code:
$ ls -1
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.TXT
FORM_PTIR_9820_ANFDOP_20150716_00413562.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413563.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.SKIP
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT.ERROR
$ ls -1 ????_????_????_????OP_*.???
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.TXT
FORM_PTIR_9820_ANFDOP_20150716_00413562.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413563.DAT

Aren't these the expected ones?
If yes you can copy/move them to other folder:
Code:
cp  ????_????_????_????OP_*.???  /other/folder/

This User Gave Thanks to MadeInGermany For This Post:
# 10  
Old 08-14-2015
Dear Friends,

Thanks. maybe my previous post was not up to the mark to explain what is required.

My current directory is like, below
----------------------------
Code:
FORM_PTIR_9820_ANFDOP_20150716_00413562.DAT_bkp
FORM_PTIR_9820_ANFDOP_20150716_00413563.DAT_bkp
FORM_PTIR_9820_ANFDEX_20150716_00413562.DAT
FORM_PTIR_9820_ANFDEX_20150716_00413563.DAT
FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT

-------------------------------
Now with ????_????_????_????OP*.??? I will get one file (the last one in above list). How to get a negation of that ? I mean how to list all other files except for these ones which have been derived using the mentioned wildcard ? Please help Smilie I tried -I, did not work.

Last edited by rbatte1; 08-14-2015 at 07:34 AM.. Reason: CODE & ICODE tags added
# 11  
Old 08-14-2015
something like
Code:
ls *|grep -v "$(ls ????_????_????_????OP_*.???)"

but this is getting ridiculous, why not say exactly what you want : All the requisites and give ALL the information?
This User Gave Thanks to vbe For This Post:
# 12  
Old 08-14-2015
Thanks buddy ! Honestly I know this is getting messy. I would let you know as soon as I have the complete info. Till now, I have asked what I knew of.

---------- Post updated at 04:59 AM ---------- Previous update was at 04:42 AM ----------

Ok guys, this is my exact requirement.

My current working directory.
=========================================
Code:
-rwxrwxr-x 1 dev115 devt 299884 Aug 13 15:09 FORM_PTIR_9820_ANFDOP_20150716_00413562.DAT_bkp
-rwxrwxr-x 1 dev115 devt 299884 Aug 13 15:16 FORM_PTIR_9820_ANFDOP_20150716_00413563.DAT_bkp
-rwxrwxr-x 1 dev115 devt 299884 Aug 13 16:36 FORM_PTIR_9820_ANFDEX_20150716_00413562.DAT
-rwxrwxr-x 1 dev115 devt 299884 Aug 13 16:36 FORM_PTIR_9820_ANFDEX_20150716_00413563.DAT
drwxr-xr-x 2 dev115 devt   4096 Aug 14 09:15 NOTProcessed
-rw-rw-r-- 1 dev115 devt     75 Aug 14 09:15 notify.lst
drwxr-xr-x 2 dev115 devt   4096 Aug 14 09:15 Skipped
drwxr-xr-x 2 dev115 devt   4096 Aug 14 09:15 Processed
drwxr-xr-x 2 dev115 devt   4096 Aug 14 09:15 Error
-rwxrwxr-x 1 dev115 devt 299884 Aug 14 10:15 FORM_PTIR_9820_ANFDOP_20150716_00413561.DAT

=====================================

now I have to move the files which are excluded from the wildcard ????_????_????OP*.??? to a folder called NOTProcessed.

list will give me a set of files which I will have to write in a txt file and then move them one by one.

How can we achieve move with this ?

Say,
Code:
  ls -ltr | grep -v  ????_????_????_????OP*.??? | grep -v ^d

gives me set of all files excluding directory (in any). Now I want to move these files(result set from ls command) to folder NOTProcessed. How can we achieve this ? I want to avoid file names to be written in a txt file and then loop over these names and put one by one. Can we move this in a single command ? Kindly help ! I need it badly...

Last edited by vbe; 08-14-2015 at 08:53 AM.. Reason: code tags please
# 13  
Old 08-14-2015
Try this one
Code:
for i in *
do
  if [[ -f "$i" ]] && [[ "$i" != ????_????_????_????OP_*.??? ]]
  then
    echo mv "$i" NOTProcessed/
  fi
done

Instead of * you can use e.g. FORM* do reduce the scope.
Remove the echo to activate.

Last edited by MadeInGermany; 08-14-2015 at 08:28 AM..
# 14  
Old 08-14-2015
With a recent bash, for a selection inversion, try
Code:
shopt -s extglob
ls !(????_????_????_????OP*.???)

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Another one line command where I'd like to determine if Ubuntu or Red Hat when running command

Hello Forum, I'm making very good progress on my report thanks to the very helpful people on this forum. I've been able to successfully create my report for my Red Hat servers. But I do have a few ubuntu servers in the mix and I'd like to capture some data from them when an ssh connection is... (8 Replies)
Discussion started by: greavette
8 Replies

2. AIX

I'm facing problem with rpm command, when running the command and appears this error:

exec(): 0509-036 Cannot load program /usr/opt/freeware/bin/rpm because of the following errors: 0509-022 Cannot load module /opt/freeware/lib/libintl.a(libintl.so.1). 0509-150 Dependent module /opt/freeware/lib/libiconv.a(shr4.o) could not be loaded. 0509-152 Member... (4 Replies)
Discussion started by: Ohmkar
4 Replies

3. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

SH script, variable built command fails, but works at command line

I am working with a sh script on a solaris 9 zone (sol 10 host) that grabs information to build the configuration command line. the variables Build64, SSLopt, CONFIGopt, and CC are populated in the script. the script includes CC=`which gcc` CONFIGopt=' --prefix=/ --exec-prefix=/usr... (8 Replies)
Discussion started by: oly_r
8 Replies

5. UNIX for Dummies Questions & Answers

passing command output from one command to the next command in cshell

HI Guys, I hope you are well. I am trying to write a script that gets executed every time i open a shell (cshell). I have two questions about that 1) I need to enter these commands $ echo $DISPLAY $ setenv $DISPLAY output_of_echo_$display_command How can i write a... (2 Replies)
Discussion started by: kaaliakahn
2 Replies

6. UNIX for Advanced & Expert Users

unix command : how to insert text at the cursor location via command line?

Hi, Well my title isn't very clear I think. So to understand my goal: I have a script "test1" #!/bin/bash xvkbd -text blabla with xbindkeys, I bind F5 key in order it runs my test1 script So when I press F5, test1 runs. I'm under Emacs/Vi and I press F5 in order to have "blabla" be... (0 Replies)
Discussion started by: xib.be
0 Replies

7. Shell Programming and Scripting

Need help! command working ok when executed in command line, but fails when run inside a script!

Hi everyone, when executing this command in unix: echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error. here is content of my script: tdbsrvr$ vi hc.sh "hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies

8. AIX

AIX:Command to get netaddress/subnet address command in IPv4/IP6

AIX:Command to get netaddress/subnet address command in IPv4/IP6 Can anybody help us with a command to retrieve netaddress/subnet address command in IPv4/IP6 on aix machine. net/subnet address is in the format 172.16.212.0(signifies all 255 machines in an IPv4 network) (2 Replies)
Discussion started by: rookie8278
2 Replies

9. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

10. SuSE

inconsistent ls command display at the command prompt & running as a cron job

Sir, I using the following commands in a file (part of a bigger script): #!/bin/bash cd /opt/oracle/bin ls -lt | tail -1 | awk '{print $6}' >> /tmp/ramb.out If I run this from the command prompt the result is: 2007-05-16 if I run it as a cron job then... (5 Replies)
Discussion started by: rajranibl
5 Replies
Login or Register to Ask a Question