Find and replace character in a string


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Find and replace character in a string
# 1  
Find and replace character in a string

Hi all,

My problem is the following:

I've a script that must list all files in a directory and write this information in a text file.

I've tried to get the list through ls command and then write it using msgecho

msgecho "`ls $PATH_APS_JOB_ORA`"

This works good but the created string is very long, having the line with all files in the list separated by a blank space.

Is it possible to store the ls results in a string variable, replace the space with \n and then write it into the text file?
In this way, the text file will be more and more clear...

I've read about sed and grep commands: is it possible to apply them to a string? How?

Thanks to all will help.
# 2  
Use the below command to write the list of files to file.

find /Required_Directory/ -maxdepth 1 -type f -exec basename {} \; > file

Smilie
# 3  
maxdepth doesn't work

Hi,

I've tried the solution you propose but it says that maxdepth is not a valid option for find command...

Furthermore, what basename means?

Thanks!
# 4  
Hi,

If the maxdepth option does not work for find on your OS, use the below command

find /Required_Directory/ -type f -exec basename {} \; > file

But this will give you the files recurrsively present inside directories inside the actual directory.

If you need files only in the required directory,use the below command.

ls -l /Required_Directory/ | grep "^-" | tr -s " " | cut -d" " -f8 > file

check if the 8th field is filename, if not change the field number.

For your clarification, "basename" command will give you strips the directory path and gives only the filename.
# 5  
Question answered

Thank you so much!

Now I'm using the following sintax

Code:
ls -l $PATH_APS_JOB_ORA | grep "^-" | tr -s " " > $PATH_APS_LOG_ORA/file_list.log

# 6  
A new question!!!

Hi,

a new problem was born.

the code you suggested works very good but now I'm trying to list in the text file more than one file list.
If I repeat the operation two times, calling the ls command on two different folders, the text file is overwritten and the first data are lost...
How to write in append mode on the text file?
In alternative, is it possible to specify two or more different folders in ls command?

Thanks in advance!
# 7  
change your code to be

Code:
ls -l $PATH_APS_JOB_ORA | grep "^-" | tr -s " " >> $PATH_APS_LOG_ORA/file_list.log

The append operator is >>
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #974
Difficulty: Medium
Version 1.0 of the Linux kernel was released on 14 March 1994.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find character and Replace character for given position

Hi, i want find the character '-' in a file from position 284-298, if it occurs i need to replace it with 'O ' for the position in the file. How to do that using SED command. thanks in advance, Sara (9 Replies)
Discussion started by: Sara183
9 Replies

2. Shell Programming and Scripting

How to replace with a special character in String

Hi, I am beginner to Shell Scripting. I have a String like this "testabcdef", i need the first character as it is and the remaining character should be replaced by the the '*' character. e.g(t***********) PLZ Suggest me. (5 Replies)
Discussion started by: nanthagopal
5 Replies

3. Shell Programming and Scripting

Find and replace a character

Hi Team, i have 1st cloumn of data containing, LAMSBA01-BA-COFF-YTD LAMSBA01-BA-COFF-ITD LAMSBA01-BA-AGGR-IND . LAMSBA01-BA-CURR-COFF-BAL i need to replace the "-" to "_" (underscore) using AWK . please help me on this. Thanks, Baski (4 Replies)
Discussion started by: baskivs
4 Replies

4. Shell Programming and Scripting

replace a character in a string-help please

I have a string eg. word=promise and I have the masked version of the word which is -------(7dash for each character) if the user input a character O, I want the masked version of the word to be --o---- if the user inputs another character p, then the masked word becomes p-o---- How can i... (1 Reply)
Discussion started by: rajugurung
1 Replies

5. Shell Programming and Scripting

Replace character in certain position in a string

Hello everyone this is my first post of many to come :) I am writing a script and in this script at one point i need to replace a character in a particular position in a string for example: in the string "mystery" i would need to replace the 3rd position to an "r" so the string becomes... (3 Replies)
Discussion started by: snipaa
3 Replies

6. Shell Programming and Scripting

replace character from string

I have a string ----- i want to replace the 3rd '-' with a character How can i do that Basically im trying to do hangman I have added the '-----' string to a file called hash and i have the character in a variable called $input also i have the character location(index) in this variable... (12 Replies)
Discussion started by: omaral
12 Replies

7. Programming

Question how to replace last character string

Hi, Could someone help me how to replace last character string. For example $>export T1=abcde $>export T2=xyz my question is how to get result abcdxyz? Many Thanks (2 Replies)
Discussion started by: nicklau81
2 Replies

8. Shell Programming and Scripting

Replace any control character in the string

Need to replace any control character in the string in perl ---------- Post updated at 04:22 PM ---------- Previous update was at 03:50 PM ---------- Any help !!! Thanks in advance (2 Replies)
Discussion started by: hansini
2 Replies

9. Shell Programming and Scripting

replace first character of string sed

I want to change the first/or any character of a string to upper-case: String: test Desired results: Test or tEst or teSt or tesT thanks (6 Replies)
Discussion started by: prkfriryce
6 Replies

Featured Tech Videos