10-14-2010
[Solved] How to concatenate files in subdirectories?
I have many log files in various subdirectories of a parent directory.
The directory structure e something like this:
Parent directory:
/home/linus/logfiles/
This parent directory has many subdirectories, like this:
.../logfiles/jack
.../logfiles/helen
.../logfiles/sue
.../loffiles/jack
etc...
New subdirectories are being constantly, and automatically, created. Of course new logs files are also being constantly, and automatically, created.
All log files are ascii files and have the .txt extension.
Well, what I need is a bash script which creates, on every and each subdirectory, a new ascii file with the contents of all log files existing on that specific subdirectory.
So I want the bash script to create a new concatenated file on every and each subdirectory.
Every concatenated file must be created with the contents of all ascii file located at the specific subdirectory.
After each of these concatenated files is created, all log files should be deleted.
It would be good if each concatenated file would be created with the name of the subdirectory on it resides plus the extension .txt. So, for instance, on a subdirectory named "james", the concatenated file should be created with the name "james.txt".
I would be very grateful if someone could post a bash script which solves this problem.
Last edited by zetetic; 10-14-2010 at 09:02 PM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hello there
the problem i got: i need to list .rrd files in each sub-directory from the parent directory, then create .xml files for each rrd files, the xml file should be in the same subdirectoryas rrd file.
i have tried
ls |awk '{print... (3 Replies)
Discussion started by: binbintriangel
3 Replies
2. UNIX for Dummies Questions & Answers
If I execute the command "ls -l /export/home/abcde/dev/proj/code/* | awk -F' ' '{print $9}' | cut -d'/' -f6-8" it will list all the files in /export/home/abcde/dev/proj/code/ directory as well as the files in subdirectories also
proj/code/test.sh
proj/code/test1.c
proj/code/unix... (8 Replies)
Discussion started by: shyjuezy
8 Replies
3. UNIX for Dummies Questions & Answers
I'm trying to concatenate files in subdirectories with the same folder name. Say concatenate all the files in the 'current' subdirectories in 'Literature' parent directory.
Literature/USA/current/
Literature/Europe/current/
Can anyone help with it? Thanks a lot! (2 Replies)
Discussion started by: joyce007
2 Replies
4. UNIX for Advanced & Expert Users
I'm trying to concatenate files in subdirectories with the same folder name. Say concatenate all the files in the 'current' subdirectories in 'Literature' parent directory.
Literature/USA/current/
Literature/Europe/current/
Can anyone help with it? Thanks a lot! (2 Replies)
Discussion started by: joyce007
2 Replies
5. Shell Programming and Scripting
i have two files as
file1:
1
2
3
file2:
a
b
c
and the output should be:
file3:
1~a
2~b
3~c (1 Reply)
Discussion started by: mlpathir
1 Replies
6. UNIX for Dummies Questions & Answers
- Concatenate files and delete source files. Also have to add a comment.
- I need to concatenate 3 files which have the same characters in the beginning and have to remove those files and add a comment and the end.
Example:
cat REJ_FILE_ABC.txt REJ_FILE_XYZ.txt REJ_FILE_PQR.txt >... (0 Replies)
Discussion started by: eskay
0 Replies
7. Shell Programming and Scripting
Hi everyone,
I have two files, namely:
file1:
file1Col1Row1;file1Col2Row1;file1Col3Row1
file1Col1Row2;file1Col2Row2;file1Col3Row2
file1Col1Row3;file1Col2Row3;file1Col3Row3file2:
file2Col1Row1;file2Col2Row1;file2Col3Row1
file2Col1Row2;file2Col2Row2;file2Col3Row2... (0 Replies)
Discussion started by: gacanepa
0 Replies
8. Shell Programming and Scripting
#!/bin/bash
#
name=$1
type=$2
number=1
for file in ./**
do
if
then
filenumber=00$number
elif
then
filenumber=0$number
fi
tempname="$name""$filenumber"."$type"
if (4 Replies)
Discussion started by: TheGreatGizmo
4 Replies
9. Shell Programming and Scripting
Hi frnds,
My requirement is I have a zip file with name say eg: test_ABC_UH_ccde2a_awdeaea_20150422.zip
within that there are subdirectories on each directory we again have .zip files and in that we have files like mama20150422.gz and so on.
Iam in need of a bash script so that it unzips... (0 Replies)
Discussion started by: Ravi Kishore
0 Replies
10. Shell Programming and Scripting
Hii,
Could someone help me to append string to the starting of all the filenames inside a directory but it should exclude .zip files and subdirectories.
Eg.
file1: test1.log
file2: test2.log
file3 test.zip
After running the script
file1: string_test1.log
file2: string_test2.log
file3:... (4 Replies)
Discussion started by: Ravi Kishore
4 Replies
LEARN ABOUT DEBIAN
runsvdir
runsvdir(8) System Manager's Manual runsvdir(8)
NAME
runsvdir - starts and monitors a collection of runsv(8) processes
SYNOPSIS
runsvdir [-P] dir [ log ]
DESCRIPTION
dir must be a directory. log is a space holder for a readproctitle log, and must be at least seven characters long or absent.
runsvdir starts a runsv(8) process for each subdirectory, or symlink to a directory, in the services directory dir, up to a limit of 1000
subdirectories, and restarts a runsv(8) process if it terminates. runsvdir skips subdirectory names starting with dots. runsv(8) must be
in runsvdir's PATH.
At least every five seconds runsvdir checks whether the time of last modification, the inode, or the device, of the services directory dir
has changed. If so, it re-scans the service directory, and if it sees a new subdirectory, or new symlink to a directory, in dir, it starts
a new runsv(8) process; if runsvdir sees a subdirectory being removed that was previously there, it sends the corresponding runsv(8)
process a TERM signal, stops monitoring this process, and so does not restart the runsv(8) process if it exits.
If the log argument is given to runsvdir, all output to standard error is redirected to this log, which is similar to the daemontools'
readproctitle log. To see the most recent error messages, use a process-listing tool such as ps(1). runsvdir writes a dot to the read-
proctitle log every 15 minutes so that old error messages expire.
OPTIONS
-P use setsid(2) to run each runsv(8) process in a new session and separate process group.
SIGNALS
If runsvdir receives a TERM signal, it exits with 0 immediately.
If runsvdir receives a HUP signal, it sends a TERM signal to each runsv(8) process it is monitoring and then exits with 111.
SEE ALSO
sv(8), runsv(8), runsvchdir(8), runit(8), runit-init(8), chpst(8), svlogd(8), utmpset(8), setsid(2)
http://smarden.org/runit/
AUTHOR
Gerrit Pape <pape@smarden.org>
runsvdir(8)