Extract the filename and write to .txt


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract the filename and write to .txt
# 1  
Old 08-26-2015
Extract the filename and write to .txt

I'm new to this forum and also to UNIX scripting.

I need a command to extract the filename from the path and write to .txt file.

Thanks in advance for your guidance.
# 2  
Old 08-26-2015
Hello Ram Kumar_BE,

Welcome to forums, hope you will enjoy learning and sharing knowledge here. Following is an example of what you have asked for. Let's say we have a file named test43 in path /tmp and we want to look for it, following may help you then.
Code:
 find /tmp -type f -name "test43" 2>/dev/null > output_file

Hope this helps, you can learn more about command find in manual page of it by doing a man find.

Thanks,
R. Singh
# 3  
Old 08-26-2015
Welcome Ram_Kumar_BE,

There will be several ways to do this depending on what you are working with. You might use basename which is easy, but slower than slicing up the path in your code. The cost (in wait time) might only be a problem if you are running it a lot though.

Can you show us how far you have got and we can suggest ways for you to try. Some context to help get a suitable solution would help too.


Kind regards,
Robin
# 4  
Old 08-26-2015
Hi Ravinder,

Thanks for your code. However, let me expand my requirement, so that I may get a more direct answer.

I've a folder /tmp and in that folder everyday I receive 'n' number of files like SASApp_STPServer_2015-08-25_tmptcmsaslva2_12345.log SASApp_STPServer_2015-08-25_tmptcmsaslva2_67891.log & SASApp_STPServer_2015-08-25_tmptcmsaslva2_78967.log.

Only numeric digits before .log in the filename will vary alongside yyyy-mm-dd. I may get 1 to 20 files everyday.

My requirement is to search for current date-1 .log files in /tmp folder and write the file name to filenames.txt

e.g. if date is 2015-08-26, then I need to extract for yesterday's filenames (current date-1) in filenames.txt

Thanks for any help you offer me. I also started searching for the commands for my requirements and will look forward to learning with you people.

Last edited by rbatte1; 08-26-2015 at 07:32 AM.. Reason: Added ICODE tags and emboldened key text
# 5  
Old 08-26-2015
So, what you may be better doing is to:-
  • Work out yesterday's date in the correct format
  • List all the files that match yesterday's date into the file
The listing is quite easy in that you provide a pattern to match against. Working out yesterday's date can be more difficult, depending which OS and version you are running. Some have tools that will make it easier.

Can you provide the output of:-
Code:
uname -a

Feel free to overwrite the server name if you feel that is sensitive.



Robin
# 6  
Old 08-26-2015
Hello Ram Kumar_BE,

Following is an example for same, I ran this following command in the directory itself where files were present if you want to run it from any other location then please put the complete path in loop as follows.
Code:
for i in "SASApp_STPServer_"$(date +%Y-%m-%d --date "1 day ago")"_tmptcmsaslva2_"*".log"
do
    echo $i
done

Output will be as follows(In my case I have created test files in /tmp).
Code:
SASApp_STPServer_2015-08-25_tmptcmsaslva2_67891.log
SASApp_STPServer_2015-08-25_tmptcmsaslva2_78967.log

If you are happy with above command's results then you can re-direct the echo $i to a output filename
eg-> echo $i >> output_file.txt.

Thanks,
R. Singh

Last edited by RavinderSingh13; 08-26-2015 at 07:53 AM..
# 7  
Old 08-26-2015
Hi Ravinder,

I appreciate your quick response and it makes my job easier. Lot of stuffs to learn.

My script location, .log file location and .txt file location is different.

Now I would like to know how to add the folder name in for loop to search for the file and to create a .txt file in /tmp/file/.

what is --date in "$(date +%Y-%m-%d --date "1 day ago")?

Last edited by rbatte1; 08-26-2015 at 09:02 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replacing .dat.gz to .txt.gz in filename

Hi, I tried below method; mv -v /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_$nfname.gz \ $(echo /oracle1/scr/tilki/willsendtilkiNew/VOICE-MO_$nfname.gz | tr 'dat' 'txt'); nfame variable has the string "dat" . I need to rename files like below; ASIS: 20140902103700_100319.dat.gz... (8 Replies)
Discussion started by: snr_silencer
8 Replies

2. Windows & DOS: Issues & Discussions

Check dir for overly path+filename and list in txt

Well since Windows always laments over some of my files having a too long "path+filename" and it gets in the way of copying complete directory structures I would love to have a DOS Script that helps me with finding those. I already tried DCSoft Long Filename Finder but that is neither DOS based... (3 Replies)
Discussion started by: pasc
3 Replies

3. Programming

to extract all the part of the filename before a particular word in the filename

Hi All, Thanks in Advance I am working on a shell script. I need some assistance. My code: if then set "subscriber" "promplan" "mapping" "dedicatedaccount" "faflistSub" "faflistAcc" "accumulator"\ "pam_account"; for i in 1 2 3 4 5 6 7 8;... (0 Replies)
Discussion started by: aealexanderraj
0 Replies

4. UNIX for Dummies Questions & Answers

to extract all the part of the filename before a particular word in the filename

Hi All, Thanks in Advance I am working on a shell script. I need some assistance. My Requirement: 1) There are some set of files in a directory like given below OTP_UFSC_20120530000000_acc.csv OTP_UFSC_20120530000000_faf.csv OTP_UFSC_20120530000000_prom.csv... (0 Replies)
Discussion started by: aealexanderraj
0 Replies

5. UNIX for Dummies Questions & Answers

Add a new column to txt file containing filename

I would like help adding a new column to a large txt file (~10MB) that contains the filename. I have searched other posts but have not found an adequate solution. I need this extra column so I can concatenate >100 files and perform awk searches on this large file. My current txt file look... (4 Replies)
Discussion started by: kellywilliams
4 Replies

6. Shell Programming and Scripting

Move txt file to with current date appended to filename

I have multiple txt files which begin with the word "orders" in folder C:\source. I need to move the files to folder C:\dest and rename them to "process_<date>_<count>" So for example , if there are 3 files ordersa.txt , ordersb.txt and ordersc.txt in C:\source , after running the script I want... (1 Reply)
Discussion started by: johannd
1 Replies

7. Shell Programming and Scripting

How to unzip Filename.txt.Z

Hii I am having a file in Unix which is filename.txt.Z How can i take of the Z to read the file Please help Regards Laxmi (2 Replies)
Discussion started by: laxmi1166
2 Replies

8. Shell Programming and Scripting

[PERL] Cannot stat or move filename - £££F3AERO££.txt

Scenario: Users drop files into a directory which is regularly polled by my PERL process. On detecting a file my process will move it from the poll dir to a working directory. A user created a file with a £ symbol in the filename and my process now fails. e.g £££F3AERO££.txt ... (1 Reply)
Discussion started by: thefal9
1 Replies

9. Shell Programming and Scripting

write filename as first line in a txt file

Could anyone very kindly help me a simple way to perform the - perhaps - very trivial task of writing the name of a file as first line of that file which is in txt format? And would be possible to do this recursively for some thousands files in the XY directory? And, again, add to the simple... (3 Replies)
Discussion started by: mjomba
3 Replies

10. Shell Programming and Scripting

rename multiple filename.45267.txt to >> filename.txt

i have several thousand files and in subdirs that are named file.46634.txt budget.75346.pdf etc i want to remove the number but retain the extension. it is always a 5 digit. thanks. (6 Replies)
Discussion started by: jason7
6 Replies
Login or Register to Ask a Question