List of files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers List of files
# 8  
Old 04-15-2014
Code:
$ ls -lrt file*
-rw-r--r-- 1 08:53 file1.txt
-rw-r--r-- 1 08:54 file3.txt
-rw-r--r-- 1 10:50 file2.txt

 $ awk '/FIRST/ && !/SECOND/ {print FILENAME}' file*
file1.txt
file2.txt
 $ cat file1.txt
fhdf kdfki gduf FIRST
 $ cat file2.txt
yvhjv vuvh vuvjn FIRST
SECOND
 $

this doesnt work for not Having "SECOND" also tested works only for hardcoded files , How to search in Root Directory

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data. Thanks

Last edited by vbe; 04-15-2014 at 01:18 PM..
# 9  
Old 04-15-2014
I think the following will do what was requested:
Code:
awk '
function pn() {
	if(f1 != "" && f2 == "") print fn
}
FNR == 1 {
	pn()
	fn = FILENAME
	f1 = ""
	f2 = ""
}
/FIRST/ {
	f1 = FNR
}
/SECOND/ {
	f2 = FNR
}
END {	pn()
}' *.txt

If you want to use this on a Solaris/SunOS system, use /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk instead of /usr/bin/awk.
# 10  
Old 04-15-2014
Code:
$ ls -lrt file*
-rw-r--r-- 1 08:53 file1.txt
-rw-r--r-- 1 08:54 file3.txt
-rw-r--r-- 1 10:50 file2.txt

 $ awk '/FIRST/ && !/SECOND/ {print FILENAME}' file*
file1.txt
file2.txt
 $ cat file1.txt
fhdf kdfki gduf FIRST
 $ cat file2.txt
yvhjv vuvh vuvjn FIRST
SECOND
 $

this doesnt work for not Having "SECOND" also tested works only for hardcoded files , How to search in Root Directory


---------- Post updated at 12:41 PM ---------- Previous update was at 12:36 PM ----------

tested works but not in the root directory cant we mention it to find in root ? instead of *.txt i want to put / below is the error.


/file1.txt
awk: cmd. line:13: (FILENAME= FNR=10) fatal: file `/home/logs' is a directory
[/PHP][/NOPARSE]

# 11  
Old 04-15-2014
The code I gave you will search all files with names ending in *.txt no matter what directory you're in when you run it. If you aren't sitting in root and want to search *.txt files in root, change the last line of the script from:
Code:
}' *.txt

to:
Code:
}' /*.txt

# 12  
Old 04-15-2014
Is there any awk requirement set or why my post from previous page is ignored? Smilie

Last edited by sea; 04-15-2014 at 03:49 PM.. Reason: smile
# 13  
Old 04-15-2014
Awk works on regular files; not directories. Your original post showed a list of files and the responses you have been given try to work on files with similar names. You said you wanted to process the files in a directory; not process a directory. You cannot read directories using awk.
# 14  
Old 04-15-2014
Quote:
Originally Posted by sea
Is there any awk requirement set or why my post from previous page is ignored? Smilie
Inefficiency aside, it doesn't do what you think it does.
Quote:
Originally Posted by sea
However, its true, if a file contains both, FIRST and SECOND on diffrent lines,

So, you could parse each file by itself to verify...
Code:
for F in F*txt;do  if grep -q FIRST $F; then grep -qv SECOND $F && echo $F; fi; done

That will match any file with a line matching FIRST and a line that does not match SECOND, even if SECOND appears somewhere in the file.

To match a file that contains FIRST and does not contain SECOND, your second pass should be:
Code:
! grep -q SECOND

Regards,
Alister
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Comparing two files and list the difference with common first line content of both files

I have two file as given below which shows the ACL permissions of each file. I need to compare the source file with target file and list down the difference as specified below in required output. Can someone help me on this ? Source File ************* # file: /local/test_1 # owner: own #... (4 Replies)
Discussion started by: sarathy_a35
4 Replies

2. Shell Programming and Scripting

List all the files in the present path and Folders and subfolders files also

Hi, I need a script/command to list out all the files in current path and also the files in folder and subfolders. Ex: My files are like below $ ls -lrt total 8 -rw-r--r-- 1 abc users 419 May 25 10:27 abcd.xml drwxr-xr-x 3 abc users 4096 May 25 10:28 TEST $ Under TEST, there are... (2 Replies)
Discussion started by: divya bandipotu
2 Replies

3. Shell Programming and Scripting

Copy list of files from a keyword list to another directory

Hello, I have a folder with a massive amount of files, and I want to copy out a specific subset of the files to a new directory. I would like to use a text file with the filenames listed, but can't get it to work. The thing I'm hung up on is that the folder names in the path can and do have... (5 Replies)
Discussion started by: twjolson
5 Replies

4. Shell Programming and Scripting

Take a list if strings from a file and search them in a list of files and report them

I have a file 1.txt with the below contents. -----cat 1.txt----- 1234 5678 1256 1234 1247 ------------------- I have 3 more files in a folder -----ls -lrt------- A1.txt A2.txt A3.txt ------------------- The contents of those three files are similar format with different data values... (8 Replies)
Discussion started by: realspirituals
8 Replies

5. Shell Programming and Scripting

List files only when a certain number of files match

Hi, I have many files named CCR20110720011001.CTRD CCR20110720011501.CTRD CCR20110720012001.CTRD CCR20110720012501.CTRD CCR20110720021001.CTRD ... (9 Replies)
Discussion started by: shadyfright
9 Replies

6. Shell Programming and Scripting

how to copy files followed by list of names of all the files in /etc?

....... (2 Replies)
Discussion started by: pcbuilder
2 Replies

7. Shell Programming and Scripting

find list of files from a list and copy to a directory

I will be very grateful if someone can help me with bash shell script that does the following: I have a list of filenames: A01_155716 A05_155780 A07_155812 A09_155844 A11_155876 that are kept in different sub directories within my current directory. I want to find these files and copy... (3 Replies)
Discussion started by: manishabh
3 Replies

8. UNIX for Dummies Questions & Answers

Find files and display only directory list containing those files

I have a directory (and many sub dirs beneath) on AIX system, containing thousands of file. I'm looking to get a list of all directory containing "*.pdf" file. I know basic syntax of find command, but it gives me list of all pdf files, which numbers in thousands. All I need to know is, which... (4 Replies)
Discussion started by: r7p
4 Replies

9. Shell Programming and Scripting

I need a script to find socials in files and output a list of those files

I am trying to find socail security numbers in files in (and under) a specific directory and output a list of the files where they are found... the format would be with no dashes just 9 numeric characters in a row. I have tried this: find /DirToLookIn -exec grep '\{9\}' /dev/null {} \; >>... (1 Reply)
Discussion started by: NewSolarisAdmin
1 Replies

10. UNIX for Dummies Questions & Answers

counting a list of string in a list of txt files

Hi there! I have 150 txt files named chunk1, chunk2, ........., chunk150. I have a second file called string.txt with more than 1000 unique strings, house, dog, cat ... I want to know which command I should use to count how many times each string appears in the 150 files. I have tried... (4 Replies)
Discussion started by: Pep Puigvert
4 Replies
Login or Register to Ask a Question