I considered that as well. cp, at least some versions, allows to copy multiple input files to a target directory. That could be done like
Code:
awk '
BEGIN {printf "echo cp" # prepare shell statement
}
NR == FNR {T[$1] # for the first file (NR id. to FNR), collect the names to search in T array
next # stop processing this line; read next one
}
{FN = $0 # second file only: save total file path
gsub (/^.*\/|.txt$/, _) # remove leading path info and ".txt" ext. from file name
}
$0 in T {printf " %s ", FN # IF the reduced file name is found in pattern array T, print the FN (full file path)
}
END {print " /some/where" # finish shell statement
}
' file2 file1 | sh
cp ./5_April_2012_Page323.txt ./6_August_2012_Page328.txt ./10_February_2014_Sportz6.txt /some/where
It may overrun system limits if too many files are to be copied, though.
We could squeeze a few more source file operands into a cp command if we drop the leading ./ from the file operands:
Code:
$0 in T {printf " %s.txt", $0 # IF the reduced file name is found in pattern array T, print the filename
If imranrasheedamu tells us that cp -t target is not available and the above script fails with E2BIG errors, we could also make some simple modifications to the above script to put no more than x source file operands in each cp command where x is 50, 100, or some other conservative number based on the maximum filename length, the size of the combined environment variables, and ARG_MAX on the system. But I don't see any reason to spend the time to do that unless imranrasheedamu lets us know that it is needed.
In a file a pattern is occured many times randomly. Even it may appear more then once in the same line too. How i can get the number of times that pattern appeared in the file? let the file name is abc.txt and the pattern is "xyz".
I used the following code:
grep -ic "xyz" abc.txt
but it is... (3 Replies)
one.txt
ONS.1287677000.820.log 20Oct2010
ONS.1287677000.123.log 21Oct2010
ONS.1287677000.456.log 22Oct2010
two.txt
ONS.1287677000.820.log:V AC CC EN
ONS.1287677000.123.log:V AC CC EN
ONS.1287677000.820.log:V AC CC EN
In file two.txt
i have to look for pattern which column one... (17 Replies)
I have an ugly conf file that has the string I'm interested in searching for in the middle of a block of code that's relevant, and I'm trying to find a way to remove that entire block based on the matched line.
I've googled for this problem, and most people helping are only interested in... (9 Replies)
would like to print word between matched patterns using sed
for example :
create INDEX SCOTT.OR_PK ON table_name(....)
would like to print between SCOTT. and ON which is OR_PK
Please help me out
Thanks (4 Replies)
Hi,
I have script like below:
#!/usr/local/bin/perl
use strict;
use warnings;
while (<DATA>) {
( my ($s_id) = /^\d+\|(\d+?)\|/ ) ;
if ( $s_id == 1 ){
s/^(.*\|)*.*ABC\.pi=(+|+)*.*ABC\.id=(\d+|+).*$/$1$2|$3/s;
print "$1$2|$3\n"; (2 Replies)
Hello every,
I am stuck in a problem. I have file like this. I want to add the fifth field of the match pattern line above the lines starting with "# @D". The delimiter is "|"
eg
>
# @D0.00016870300|0.05501020000|12876|12934|3||Qp||Pleistocene||"3 Qp Pleistocene"|Q
# @P... (5 Replies)
Hi,
I have two files file1.txt and file2.txt. Please see the attachments.
In file2.txt (which actually is a diff output between two versions of file1.txt.), I extract the pattern corresponding to 1172c1172. Now ,In file1.txt I have to search for this pattern 1172c1172 and if found, I have to... (9 Replies)
Hi,
I need to extract an info in $1 based on a matched pattern in $2,$3,$4, and $5.
The sample input file as follows:-
ID Pat1 Pat2 Pro1 use1
add41 M M M
add87 M M M M
add32 ... (16 Replies)
What I would like to do is if the lines with % have the same name, then combine the last 9 letters of the string underneath the last occurrence of that ID with the first 9 letters of the string underneath the first occurrence of that ID.
I have a file that looks like this:
%GOGG... (12 Replies)
Hi I want to print the line until pattern is matched.
I am using below code:
sed -n '1,/pattern / p' file
It is working fine for me , but its not working for exact match.
sed -n '1,/^LAC$/ p' file
Input:
LACC FEGHRA 0
LACC FACAF 0
LACC DARA 0
LACC TALAC 0
LAC ILACTC 0... (8 Replies)
Discussion started by: Abhisrajput
8 Replies
LEARN ABOUT OPENDARWIN
cmp
CMP(1) User Commands CMP(1)NAME
cmp - compare two files byte by byte
SYNOPSIS
cmp [OPTION]... FILE1 [FILE2 [SKIP1 [SKIP2]]]
DESCRIPTION
Compare two files byte by byte.
The optional SKIP1 and SKIP2 specify the number of bytes to skip at the beginning of each file (zero by default).
Mandatory arguments to long options are mandatory for short options too.
-b, --print-bytes
print differing bytes
-i, --ignore-initial=SKIP
skip first SKIP bytes of both inputs
-i, --ignore-initial=SKIP1:SKIP2
skip first SKIP1 bytes of FILE1 and first SKIP2 bytes of FILE2
-l, --verbose
output byte numbers and differing byte values
-n, --bytes=LIMIT
compare at most LIMIT bytes
-s, --quiet, --silent
suppress all normal output
--help display this help and exit
-v, --version
output version information and exit
SKIP values may be followed by the following multiplicative suffixes: kB 1000, K 1024, MB 1,000,000, M 1,048,576, GB 1,000,000,000, G
1,073,741,824, and so on for T, P, E, Z, Y.
If a FILE is '-' or missing, read standard input. Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.
AUTHOR
Written by Torbjorn Granlund and David MacKenzie.
REPORTING BUGS
Report bugs to: bug-diffutils@gnu.org
GNU diffutils home page: <http://www.gnu.org/software/diffutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
COPYRIGHT
Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
SEE ALSO diff(1), diff3(1), sdiff(1)
The full documentation for cmp is maintained as a Texinfo manual. If the info and cmp programs are properly installed at your site, the
command
info cmp
should give you access to the complete manual.
diffutils 3.6 May 2017 CMP(1)