Firstly you need to traverse the tree looking for files (not directories) with "find" and then get "cat" to display the contents. This example uses "cat -v" to guard against processing a file containing control characters.
Though we know nothing about your data this example uses "tr -s" to remove duplicate space and tab characters before translating space or tab into newline (similar to your code).
The most important bit is the "sort" which is imperative before running "uniq".
The "sort" command is the only command name which was not mentioned in your original post. I've tried to avoid introducing anything more exotic in case you have not yet covered a command on your course.
This may not fully match your requirement but should get you moving:
Might well need refining to deal with blank lines etc. .
When testing, try building the pipeline command-by-command and looking at the output after each new addition to the pipeline.
Whether you use "uniq" or "uniq -u" or whatever is up to your understanding of the phrase "all unique words".
Last edited by methyl; 03-10-2011 at 10:12 AM..
Reason: Forgot the "wc -l"
A painfully rudimentary UNIX question for somebody. I've been puzzling over this for the last hour but can't find the right command.
I'm simply trying to get a list of all files - and their full paths - within a folder & subfolders which have extension .php and .js. That's it! No amount of... (1 Reply)
i need to change string in all files in current folder and all subfolders. i wrote the following script. It works good except it dont delete temp file from subfolders.
for z in `find . -type f -name "*.html" -o -name "*.htm"`; do
sed -e 's@abc@xyz@g' $z>temp;
mv temp $z;
done
any idea?... (1 Reply)
Hi,
I am trying to write a shell script to delete logs generate by db when space in the folder reaches 70%. i am getting space values from db, find the files at OS and remove them by using a cron job runs every 5minutes.
I have to keep the latest 5 files at any time, my problem is that log files... (3 Replies)
Hello,
I have two folders.
One has 1183 text files (folder A).
The other (folder B) has 1160 of those 1183 files (the contents in these 1160 files are identical to the contents in the corresponding files in the other folder, but the names of the files in this folder are completely different... (2 Replies)
First of all, the extent of my unix knowledge is next to nil. I've been able to telnet to a unix box, and thanks to the Computer Hope website, I've been able to learn a few basic commands to navigate from folder to folder, and view contents.
What I really need to do is obtain a count of all... (2 Replies)
How can this be done?
I mean, I want to search for all *png *jpg *bmp files in my ~/Pictures/ folder....How can I list them?
Thank you geeks :) :b: (2 Replies)
Hello,
Neither ‘Grep -r' nor ‘grep -R' is working in my environment. (Searching for a text pattern in the files)
Any suggestions... Using SunOS 5.9
Thanks,
Trinanjan. (1 Reply)
I have a folder with 4000 (*3) files like
gr_q4_gb-1.anc
gr_q4_gb-1.anc_cdr_st.txt
gr_q4_gb-1.anc_cdr_tr.txt
gr_q4_gb-2.anc
gr_q4_gb-2.anc_cdr_st.txt
gr_q4_gb-2.anc_cdr_tr.txt
gr_q4_gb-3.anc
gr_q4_gb-3.anc_cdr_st.txt
gr_q4_gb-3.anc_cdr_tr.txt
.
.
gr_q4_gb-4000.anc... (6 Replies)
Discussion started by: sammy777888
6 Replies
LEARN ABOUT OSX
uniq
UNIQ(1) BSD General Commands Manual UNIQ(1)NAME
uniq -- report or filter out repeated lines in a file
SYNOPSIS
uniq [-c | -d | -u] [-i] [-f num] [-s chars] [input_file [output_file]]
DESCRIPTION
The uniq utility reads the specified input_file comparing adjacent lines, and writes a copy of each unique input line to the output_file. If
input_file is a single dash ('-') or absent, the standard input is read. If output_file is absent, standard output is used for output. The
second and succeeding copies of identical adjacent input lines are not written. Repeated lines in the input will not be detected if they are
not adjacent, so it may be necessary to sort the files first.
The following options are available:
-c Precede each output line with the count of the number of times the line occurred in the input, followed by a single space.
-d Only output lines that are repeated in the input.
-f num Ignore the first num fields in each input line when doing comparisons. A field is a string of non-blank characters separated from
adjacent fields by blanks. Field numbers are one based, i.e., the first field is field one.
-s chars
Ignore the first chars characters in each input line when doing comparisons. If specified in conjunction with the -f option, the
first chars characters after the first num fields will be ignored. Character numbers are one based, i.e., the first character is
character one.
-u Only output lines that are not repeated in the input.
-i Case insensitive comparison of lines.
ENVIRONMENT
The LANG, LC_ALL, LC_COLLATE and LC_CTYPE environment variables affect the execution of uniq as described in environ(7).
EXIT STATUS
The uniq utility exits 0 on success, and >0 if an error occurs.
COMPATIBILITY
The historic +number and -number options have been deprecated but are still supported in this implementation.
SEE ALSO sort(1)STANDARDS
The uniq utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'') as amended by Cor. 1-2002.
HISTORY
A uniq command appeared in Version 3 AT&T UNIX.
BSD July 3, 2004 BSD