Visit Our UNIX and Linux User Community


Better Align--output of find command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Better Align--output of find command
# 1  
Old 05-13-2015
Question Better Align--output of find command

Hi,

i have sh program which search for a file in a folder structure and provides its path. This is just used to see if that file exits more that once anywhere down the folder structure. I have used find command to search & printing it output on terminal.

I have attached screen shot of it. only help i need is to make is better aligned which i am not able to do it.

Code:
clear
search_folder=/home/pks/Desktop # Folder in which i am searching
while read line;
do
echo File name is:-$line -- `find $search_folder -name $line` # finding the file name from office.txt in search folder.
done < /home/pks/Desktop/office.txt # File from which i am reading

Better Align--output of find command-screenshotpng

Last edited by praveenkumar198; 05-13-2015 at 09:58 AM.. Reason: CODE Added
# 2  
Old 05-13-2015
What would you call "better aligned"? An output sample would seriously help here.

And, wouldn't it be better to traverse the directory structure just once in lieu of doing it for every line in office.txt, running the risk of finding more than one file? Think about finding all files under the search_folder, piping them to an awk script that filters and formats?
# 3  
Old 05-13-2015
Sorry..it just been few days(max 5 days) working with shell. Dont know awk but will try hand on that for sure.

Better aligned means better or proper spacing to make them look better for reading and understnding :-
I am just writing space to make my point because when i am submitting tab is getting auto removed in the forum.

Code:
File name is:- Hello.txt{SPACE}--/home/pks/Destop/sumit/Dirty/empty_dir/empty.file{Space}/home/pks/Desktop/sumit/empty.file 
File name is:- HelloWorld.py{ }--/home/pks/Destop/sumit/Dirty/HelloWorld.py{Space Space }/home/pks/Desktop/sumit/HelloWorld.py

Moderator's Comments:
Mod Comment Use CODE tags around all sample input, output, and code. The CODE tags will preserve spaces and tabs so everyone reading your posts will be able to see what you are working with.

Last edited by Don Cragun; 05-13-2015 at 11:32 PM.. Reason: Add CODE tags.
# 4  
Old 05-13-2015
Have you checked printf? Search for it.
This User Gave Thanks to clx For This Post:
# 5  
Old 05-14-2015
Hi,

Thanks....i am trying with printf command & hopefully i will make it the way i want it.

PKS
# 6  
Old 05-14-2015
Quote:
Originally Posted by clx
Have you checked printf? Search for it.
Hi,

I have checked with printf and tried everything but still the output is not as i am expecting but it 90% correct

in attached screen shot if you will see it is adding tab before printing both the output but not in next line. it is showing two type of put put line 1 & 4 is one way rest all line is another way. there is something wrong with TAB but not able to find what.

Code:
clear
search_folder=/home/pks/Desktop
while read line;
do
printf "%s\t %s\t" "File:-$line" `find $search_folder -name $line -type f`
done < /home/pks/Desktop/office.txt # > output.txt

Better Align--output of find command-issuepng
# 7  
Old 05-14-2015
Try:
Code:
while read file
do
  printf "File:-%s" "$file" 
  find "$search_folder" -name "$file" -type f | 
  while read path
  do
    printf "\t%s" "$path"
  done
  echo
done < /home/pks/Desktop/office.txt

---
Or with awk:
Code:
find "$search_folder" -type f |
awk '
  NR==FNR {
    A[$0]
    next
  }
  $NF in A {
    A[$NF]=A[$NF] OFS $0
  }
  END {
    for(i in A) printf "File:-%s%s\n",i,A[i]
  }
' FS=/ OFS='\t' /home/pks/Desktop/office.txt -


Previous Thread | Next Thread
Test Your Knowledge in Computers #46
Difficulty: Easy
Regarding computer networking, the exact meaning of the term VPN is 'virtual protected network.'
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare the output of find command

Hi All, I am trying to run find command in a script to list out certain files based on a patter. However, when there is no file in the output, the script should exit. Tried a couple of operators (-n, -z) etc but the script does not work. I am confused whether a null string is returned... (3 Replies)
Discussion started by: danish0909
3 Replies

2. Shell Programming and Scripting

Output of find command to variable?

Hi, I'd like to assign the output of the find command to a variable. What I need is to run the find command, and if it returns zero files, the program exits. so i'm trying to assign the output of the find command to the $var1 variable....and then if this is less than one, I echo a... (2 Replies)
Discussion started by: horhif
2 Replies

3. AIX

find command modify the output

Hello All, I am new to this shell scripting , I wanted to modify the output of my find command such that it does not display the path but only file names , for example I am searching for the files which are modified in the last 24 hours which is find /usr/monitor/text/ -type f -mtime... (3 Replies)
Discussion started by: raokl
3 Replies

4. Shell Programming and Scripting

Wrong output in find command

Hi guys - I am trying a small script to tell me if there is a file that exists less than 1k. It should report ERROR, otherwise the check is good. I wrote this script down, however it never runs in the if/then statement. It always returns the echo ERROR. MYSIZE=$(find /home/student/dir1... (8 Replies)
Discussion started by: DallasT
8 Replies

5. UNIX for Dummies Questions & Answers

problem with output of find command being input to basename command...

Hi, I am triying to make sure that there exists only one file with the pattern abc* in path /path/. This directory is having many huge files. If there is only one file then I have to take its complete name only to use furter in my script. I am planning to do like this: if ; then... (2 Replies)
Discussion started by: new_learner
2 Replies

6. Shell Programming and Scripting

Incorrect output using find command

I'm using the below command to list files older than 2 hours but it returns redundant output, am I missing something. # find . -mmin +120 -exec ls -l {} \; total 0 -rw-r--r-- 1 root system 0 Oct 13 09:52 test1 -rw-r--r-- 1 root system 0 Oct 13 09:52 test2 -rw-r--r-- 1 root ... (5 Replies)
Discussion started by: mbak
5 Replies

7. Shell Programming and Scripting

Paste Command does not align my output

I'm trying to "paste" two files but the result is not aligned. File1 looks like this: dog.csv cat.csv elephant.csv cougar.csv File2 looks like this: 2323 33 444 545545 Then I run a paste command: paste File1 File2 > result.cnt Then result.cnt file is created like this:... (4 Replies)
Discussion started by: jplayermx
4 Replies

8. Shell Programming and Scripting

hiding output from find command

when I do the find command from / , there are a lot of directories that I do not have access to and so I get "find: cannot open ..." How can I suppress these messages so only what was found is output. I was thinking on find / -name 'searchterm' | grep -v find but this doesnt work ... (5 Replies)
Discussion started by: JamesByars
5 Replies

9. UNIX for Dummies Questions & Answers

output of find command

Hi, I am confused about the output of find command. Please see the two find commands below. When i put "*.c" i get lots of files. But when i put *c only i get only one file. Any answer?? $ find . -name "*c" ./clarify/cheval/hp_server/rulemanager/rulemansvc... (3 Replies)
Discussion started by: shriashishpatil
3 Replies

10. UNIX for Dummies Questions & Answers

How to underline/bold and how to align output

Hi, I work with AIX 5 and have two basic questions: 1) How do I underline/bold a word in a text output? Any way to do it with echo command? basic example: echo "FOLDER " >> folder.txt ( I wish the word FOLDER to be underlined and bold). 2) Suppose I have the following pipe delimited... (1 Reply)
Discussion started by: clara
1 Replies

Featured Tech Videos