I hope you guys can help me.
I prefer SED/AWK solutions if possible. For my shame it didn't work for me
ISSUE:
Information:
If a line has more than 19 chars, it uses a "\" as 20th char and proceeds in next line.
This is present as you see.
Task:
I changed lines, therefore they do no longer fit into the 20 chars.
E.g. i add a ",". I want to put it into the next line and correct here the 20 chars rule and this for all following lines. Until it's no longer needed.
Solution:
Thanks a lot!!!
_______________________
Tried things in style of: One solution: Use two vars saving the lines... removing additional , saving this string and writing it in front of the next line holding var. Than use again previous var and read this. Until line has <19 char.
Shouldn't be that hard... but i'm not familiar with the syntax
______
length > 20...
awk '/.../ use_vars=$0; if(line){print line ORS $0; line=""}}' file
Last edited by unknown7; 04-20-2011 at 06:11 AM..
Reason: reformated and changed topic | added "\" into code tags to ensure understanding of the issue
PS: According to your rule, your solution should not have a "\" on the following line:
Thanks a lot I will try.
Maybe you missunderstood me, I'm sorry if i explained to bad.
The ISSUE code was previousely done with this rule. It means whereever a "\" is, is NO newline. So its a line break character.
e.G. for linebreak after 5 chars:
So i'll check this and let u know if it worked... thanks so far!
@Shell life
EDIT: Solution nearly works. Thanks a lot. Just the first "\" is wrongly removed. If 19 char + "\" than do nothing. Means it was a longer char which was splitted prev. correctly. And do not remove "\" within lines.
NewTestcode: Just remove "\" if it's last char in line and if line has >20 chars.
Remember the next line holds also the additional chars which were cut regarding to this rule! Result should be: If line is like:
12345678901234567890
and no "\" at the end -> do nothing.
Only if the last char of the 20 is a "\" than it's a splittet line. If there are 20 chars w/o a "\" nothing should be changed.
So 20 chars with "\" at the end means it was previously smth. bigger which was splitted.
So the "\" should just be removed if the line.length > 20 & the last char is a "\".
Tried to remove or move the sed command but i dont know how to let the loop run w/o sed ;-)
@UVI
Unfortunately it says syntax error... couldn't find the reson... could u recheck this please?
Thanks a lot!
---------- Post updated 20th Apr 2011 at 10:00 AM ---------- Previous update was 19th Apr 2011 at 07:03 PM ----------
Hmmm i don't get it...
additional check like: ${mline2: -1} -eq '\'
or with tail command
so much options... but my syntax is wrong :-/
Help is needed - thanks
I have a file that includes strings with special characters, eg
file1
line: 1 - special 1
line: = 4
line; -3
etc
How can I grep the lines of file1 from file2, line by line?
I used fgrep and egrep to grep a particular line and worked fine, but when I used:
cat file1|while read line;do... (2 Replies)
All, I appreciate any help you can offer here as this is well beyond my grasp of awk/sed...
I have an input file similar to:
&LOG
&LOG Part: "@DB/TC10000021855/--F"
&LOG
&LOG
&LOG Part: "@DB/TC10000021852/--F"
&LOG Cloning_Action: RETAIN
&LOG Part: "@DB/TCCP000010713/--A"
&LOG
&LOG... (5 Replies)
Hi folks,
I am very new to awk. I have what is probably a very simple question. I'm trying to get the max value of column 1, but also print column 2. My data looks like this:
0.044|2000-02-03 14:00:00
5.23|2000-02-03 05:45:00
5.26|2000-02-03 11:15:00
0|2000-02-01 18:30:00
So in this case... (2 Replies)
Hi,
I am running a script sample.sh in bash environment .In the script i am using sed and awk commands which when executed individually from terminal they are getting executed normally but when i give these sed and awk commands in the script it is giving the below errors :-
./sample.sh: line... (12 Replies)
I am trying to retrieve that max 'year' in a text file that is delimited by tilde (~). It is the second column and the values may be in Char format (double quoted) and have duplicate values.
Please help. (4 Replies)
I know this has been asked before but I just can't parse the syntax as explained. I have a set of files that has user information spread out over two lines that I wish to merge into one:
User1NameLast User1NameFirst User1Address
E-Mail:User1email
User2NameLast User2NameFirst User2Address... (11 Replies)
Hi I'm new to sed, and need to add characters into a specific location of a file, the fileds are tab seperated.
text <tab> <tab> text <tab> text EOL
I need to add more characters to the line to look like this:
text <tab> <tab> newtext <tab> text <tab> text EOL
Any ideas? (2 Replies)
I know this should be simple, but I've been manning sed awk grep and find and am stupidly stumped :(
I'm trying to use sed (or awk, find, etc) to find 4 characters on the second line of a file.txt 44-47 characters in. I can find lots of sed things for lines, but not characters. (4 Replies)
Hello,
I have a logfile which is in this format:
1211667249500#3265
1211667266687#2875
1211667270781#1828
Is there a way to read the logfile line by line every time I execute the code and put the two numbers in the line in two separate variables?
Something like:
1211667249500#3265... (7 Replies)
while read line
do
str1=`grep 'customernumberR11' file1 | cut -c 20-21`
str2=`grep 'newnumberR11' file1 | cut -c 15-16`
if ; then
sed -e "s/newnumberR11/ s/$str2/\$str1/g" $line
fi
done < file1 (4 Replies)