04-28-2011
Thank you both. I too feel the ABCD is literal. I think mirni is correct about the overall behavior (as were you ddreggors with the exception of the print).
The twist in all of this is that this sed command has been used at the end of an extraction process, supposedly to remove lines that contain leading ABDC followed by a pipe, and trailing ABCD preceded by a pipe. And to print (p), everything else to a .tmp file. Then a mv command was usedto overwrite the original file with the tmp file.
But when I run this command against a sample file created with the first 1000 lines of one of our prod files, the tmp file is empty each time. However when it runs in production the original file has the same byte count as the processed and renamed output file (as measured before the mv command is carried out). So print is working in prod.
The files are too big to diff though I compared the first 100K rows of the before and after to each other, and then the last 100K rows and came up with no differences each time. So in production it is writing every line to the tmp file, but when I run it it writes no lines to the tmp file.
My original intent was to change this over to a Perl pattern match and replace in the hopes of speeding up the process, but I wanted to understand the sed statement first. Now it's looking like at best sed is doing nothing, given that the before and after files are identical. But I still need to figure out why my tmp file is empty, using the same command (from the command line), while it prod the tmp file is the same size as the original file (when run from a script).
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
i can only find the first occurance of a pattern how do i set it to loop untill all occurances have changed.
#! /usr/bin/perl
use POSIX;
open (DFH_FILE, "./dfh") or die "Can not read file ($!)";
foreach (<DFH_FILE>) {
if ($_ !~ /^#|^$/) {
chomp;
... (1 Reply)
Discussion started by: Optimus_P
1 Replies
2. Shell Programming and Scripting
Hi guys,
I have the following expression :
typeset EXBYTEC_CHK=`egrep ^"+${PNUM}" /bb/data/firmexbytes.dta`
can anybody please explain to me what
^"+${PNUM}"
stands for in egrep statement? Thanks -A (3 Replies)
Discussion started by: aoussenko
3 Replies
3. Shell Programming and Scripting
Hi guys,
got a problem here with sed on the command line.
If i have a string as below:
online xx:wer:xcv: sdf:/asdf/http:https-asdfd
How can i match the pattern "http:" and replace the start of the string to the pattern with null?
I tried the following but it doesn't work:
... (3 Replies)
Discussion started by: DrivesMeCrazy
3 Replies
4. Shell Programming and Scripting
Hi,
I am writing a simple log parsing system and have a question on pattern matching.
It is simply grep -v -f patterns.re /var/log/all.log
Now, I have the following in my logs
Apr 16 07:33:17 ad-font-dc1 EvntSLog: AD-FONT-DC1/NTDS ISAM (700) - "NTDS (384) NTDSA: Online defragmentation... (5 Replies)
Discussion started by: wpfontenot
5 Replies
5. Shell Programming and Scripting
Hi guys,
I have a file in the following format:
4222 323K 323L D222
494 8134 A023 A024
49 812A 9871 9872
492 A961 A962 A963
491 0B77 0B78 0B79
495 0B7A 0B7B 0B7C
4949 WER9 444L 999O
I need to grep the line... (5 Replies)
Discussion started by: aoussenko
5 Replies
6. Shell Programming and Scripting
Hi Guys,
I am trying to setup a check for the string using an "if" statement. The valid entry is only the one which contain Numbers and Capital Alpha-Numeric characters, for example: BA6F, BA6E, BB21 etc...
I am using the following "if" constract to check the input, but it fails allowing Small... (3 Replies)
Discussion started by: aoussenko
3 Replies
7. Shell Programming and Scripting
Hi Guys
I am trying to check if the pattern "# sign followed by one or several tabs till the end of the line" exists in my file. I am using the following query:
$ cat myfile | nawk '{if(/^#\t*$/) print "T"}'
Unfortunately it does not return the desired output since I know for sure that the line... (4 Replies)
Discussion started by: aoussenko
4 Replies
8. Shell Programming and Scripting
Hi guys
I have the following case statement in my script:
case $pn.$db in
*?.fcp?(db)) set f ${pn} cp ;;
*?.oxa?(oxa) ) set oxa $pn ;;
esac
Can somebody help me to understand how to interpret *?.fcp?(db)) or *?.oxa?(oxa) ?
I cannot figure out how in this case pattern maching... (5 Replies)
Discussion started by: aoussenko
5 Replies
9. Shell Programming and Scripting
'Hi
I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match.
Which option is to be used to exclude the line containing the pattern?
sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies
10. Shell Programming and Scripting
I need to check the condition of a variable before the script continues and it needs to match a specific pattern such as EPS-03-0 or PDF-02-1.
The first part is a 3 or 4 letter string followed by a hyphen, then a 01,02 or 03 followed by a hyphen then a 0 or a 1.
I know I could check for every... (4 Replies)
Discussion started by: stormcel
4 Replies
LEARN ABOUT DEBIAN
shtool-subst
SHTOOL-SUBST.TMP(1) GNU Portable Shell Tool SHTOOL-SUBST.TMP(1)
NAME
shtool-subst - GNU shtool sed(1) substitution operations
SYNOPSIS
shtool subst [-v|--verbose] [-t|--trace] [-n|--nop] [-w|--warning] [-q|--quiet] [-s|--stealth] [-i|--interactive] [-b|--backup ext]
[-e|--exec cmd] [-f|--file cmd-file] [file] [file ...]
DESCRIPTION
This command applies one or more sed(1) substitution operations to stdin or any number of files.
OPTIONS
The following command line options are available.
-v, --verbose
Display some processing information.
-t, --trace
Enable the output of the essential shell commands which are executed.
-n, --nop
No operation mode. Actual execution of the essential shell commands which would be executed is suppressed.
-w, --warning
Show warning on substitution operation resulting in no content change on every file. The default is to show a warning on substitution
operations resulted in no content change on all files.
-q, --quiet
Suppress warning on substitution operation resulting in no content change.
-s, --stealth
Stealth operation. Preserve timestamp on file.
-i, --interactive
Enter interactive mode where the user has to approve each operation.
-b, --backup ext
Preserve backup of original file using file name extension ext. Default is to overwrite the original file.
-e, --exec cmd
Specify sed(1) command directly.
-f, --file cmd-file
Read sed(1) command from file.
EXAMPLE
# shell script
shtool subst -i -e 's;(c) ([0-9]*)-2000;(c) 1-2001;' *.[ch]
# RPM spec-file
%install
shtool subst -v -n
-e 's;^(prefix=).*;1 $RPM_BUILD_ROOT%{_prefix};g'
-e 's;^(sysconfdir=).*;1 $RPM_BUILD_ROOT%{_prefix}/etc;g'
`find . -name Makefile -print`
make install
HISTORY
The GNU shtool subst command was originally written by Ralf S. Engelschall <rse@engelschall.com> in 2001 for GNU shtool. It was prompted
by the need to have a uniform and convenient patching frontend to sed(1) operations in the OpenPKG package specifications.
SEE ALSO
shtool(1), sed(1).
18-Jul-2008 shtool 2.0.8 SHTOOL-SUBST.TMP(1)