04-16-2007
Cat'ing a multiple line file to one line
I am writing a script that is running a loop on one file to obtain records from another file.
Using egrep, I am finding matching records in file b, then outputing feilds of both into another file.
****************************
filea=this.txt
fileb=that.txt
cat $filea | while read line
do
egrep ^${line} > tmp.$$
COUNT=`wc -l tmp.$$`
if [ -s tmp.$$ ]
then
echo "${line}`cat tmp.$$`" >> output.txt
fi
done
******************************
In the instance that tmp.$$ is 2 or more lines, how do I get all the lines on the same line? I know by looking at the example above, there are better ways to do it, however, I have to output different things based on the number of results in $COUNT. Thanks in advance!
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
STEP 1
# Set variable
FILE=/tmp/mainfile
SEARCHFILE =/tmp/searchfile
# THIS IS THE MAIN FILE.
cat /tmp/mainfile
Interface Ethernet0/0 "outside", is up, line protocol is up
Hardware is i82546GB rev03, BW 100 Mbps
Full-Duplex(Full-duplex), 100 Mbps(100 Mbps)
MAC address... (6 Replies)
Discussion started by: irongeekio
6 Replies
2. Shell Programming and Scripting
Hello,
So I sorted my file as I was supposed to:
sort -n -r -k 2 -k 1 file1 | uniq > file2
and when I wrote
> cat file2
in the command line, I got what I was expecting, but in the script itself
...
sort -n -r -k 2 -k 1 averages | uniq > temp
cat file2
It wrote a whole... (21 Replies)
Discussion started by: shira
21 Replies
3. Shell Programming and Scripting
Hi -
I have a file that contains data in this format:-
#comment
value1 value2 value3
#comment
value4 value5 value6 value7
#comment
value8 value9
I need to read value1, value2 and value3 into one array, value4 value5 value6 and value7 into another array and value8 and value9 into a 3rd... (2 Replies)
Discussion started by: sniper57
2 Replies
4. Shell Programming and Scripting
Hopefully the title summarized what I need help with. I have multiple files that I would like to concatenate in bash.
ie:
cat file1 file2 file3 > bigfile
except I do not want to include the first line from each file (). Any help? Thanks. (6 Replies)
Discussion started by: sanimfj
6 Replies
5. Shell Programming and Scripting
Hi,
I have two files
one.txt
laptop
boy
apple
two.txt
unix
linux
OS
openS
I want to split one.txt into one line each and concatenate it with the two.txt
output files
onea.txt
laptop (4 Replies)
Discussion started by: avatar_007
4 Replies
6. Shell Programming and Scripting
Hello. I'm making a (hopefully) simple shell script xml parser that outputs a file I can grep for information. I am writing it because I have yet to find a command line utility that can do this. If you know of one, please just stop now and tell me about it. Even better would be one I can input... (10 Replies)
Discussion started by: natedawg1013
10 Replies
7. Shell Programming and Scripting
Hi all
I have spent half a day trying to create a shell script which reads a configuration file on a line by line basis.
The idea of the file is that each will contain server information, such as IP address and various port numbers. The line could also be blank (The file is user created). Here... (1 Reply)
Discussion started by: haggismn
1 Replies
8. AIX
hi Guys,
Am new to this awesome forum, and yea i need some help here asap thnx :)
i have a directory with over 34000 text files, i need a script that will delete the last line of each of this file without me necessary opening the files.
illustration:-
file1 200 records
file2 130 records... (5 Replies)
Discussion started by: eetang
5 Replies
9. Shell Programming and Scripting
Hi All
I have to search servers name say like 1000+ "unique names" line by line in child.txt files in another file that is a master file where all server present say "master.txt",if child.txt's server name matches with master files then it print yes else no with server name. (4 Replies)
Discussion started by: netdbaind
4 Replies
10. Shell Programming and Scripting
I am looking for help in processing of those options: '-n' or '-p'
I understand what they do and how to use them.
But, I would like to use them with more than one file (and without any shell-loop; loading the 'perl' once.)
I did try it and -n works on 2 files.
Question is:
- is it possible to... (6 Replies)
Discussion started by: alex_5161
6 Replies
LEARN ABOUT DEBIAN
git-merge-file
GIT-MERGE-FILE(1) Git Manual GIT-MERGE-FILE(1)
NAME
git-merge-file - Run a three-way file merge
SYNOPSIS
git merge-file [-L <current-name> [-L <base-name> [-L <other-name>]]]
[--ours|--theirs|--union] [-p|--stdout] [-q|--quiet] [--marker-size=<n>]
<current-file> <base-file> <other-file>
DESCRIPTION
git merge-file incorporates all changes that lead from the <base-file> to <other-file> into <current-file>. The result ordinarily goes into
<current-file>. git merge-file is useful for combining separate changes to an original. Suppose <base-file> is the original, and both
<current-file> and <other-file> are modifications of <base-file>, then git merge-file combines both changes.
A conflict occurs if both <current-file> and <other-file> have changes in a common segment of lines. If a conflict is found, git merge-file
normally outputs a warning and brackets the conflict with lines containing <<<<<<< and >>>>>>> markers. A typical conflict will look like
this:
<<<<<<< A
lines in file A
=======
lines in file B
>>>>>>> B
If there are conflicts, the user should edit the result and delete one of the alternatives. When --ours, --theirs, or --union option is in
effect, however, these conflicts are resolved favouring lines from <current-file>, lines from <other-file>, or lines from both
respectively. The length of the conflict markers can be given with the --marker-size option.
The exit value of this program is negative on error, and the number of conflicts otherwise. If the merge was clean, the exit value is 0.
git merge-file is designed to be a minimal clone of RCS merge; that is, it implements all of RCS merge's functionality which is needed by
git(1).
OPTIONS
-L <label>
This option may be given up to three times, and specifies labels to be used in place of the corresponding file names in conflict
reports. That is, git merge-file -L x -L y -L z a b c generates output that looks like it came from files x, y and z instead of from
files a, b and c.
-p
Send results to standard output instead of overwriting <current-file>.
-q
Quiet; do not warn about conflicts.
--ours, --theirs, --union
Instead of leaving conflicts in the file, resolve conflicts favouring our (or their or both) side of the lines.
EXAMPLES
git merge-file README.my README README.upstream
combines the changes of README.my and README.upstream since README, tries to merge them and writes the result into README.my.
git merge-file -L a -L b -L c tmp/a123 tmp/b234 tmp/c345
merges tmp/a123 and tmp/c345 with the base tmp/b234, but uses labels a and c instead of tmp/a123 and tmp/c345.
GIT
Part of the git(1) suite
Git 1.7.10.4 11/24/2012 GIT-MERGE-FILE(1)