12-05-2019
You are using /directory1 as a record separator. That means awk just reads the text including \n characters which display. And not ignoring them using the default EOL operation - chop off the newline.
Try using gsub on each record to remove the newline character from $0, replace that with a space.
Whenever you mess with either pagination or carriage control you can get "unexpected results" in standard tools.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi,
I have data with broken lines:
Sample data:
"12"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|"2453748"|"08:10:50"
"16"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|"
2453748"|"08:15:50"
"16"|"25"|"a"|"b"|"
c"|"d"|"e"|"f"|"2453748"|"08:19:50"
"16"|"25"|"a"|"b"|"c"|"d"|"e"|"f"|"2453748"|"08:19:50"
In the... (5 Replies)
Discussion started by: hitmansilentass
5 Replies
2. UNIX for Dummies Questions & Answers
Hi everyone!
I'm not new to Unix, but I've never used awk before.
I tried to look up this information on several sites and forums,
I also looked in the documentation but I haven't found a solution yet.
I would like to print the previous 3 lines before and the following 4 lines after the... (6 Replies)
Discussion started by: djcsabus
6 Replies
3. Shell Programming and Scripting
Input File:
nawk -F "|" '{
for(i=1;i<=NF;i++) {
if (i == 2)
{gsub(",","#",$i);z=split($i,a,"")}
else if (i == 3)
{gsub(",","#",$i);z=split($i,b,"")}
}
if(z > 0) for(i=1;i<=z;i++)
print $1,a,"Test";
if(w > 0) for(j=1;j<=w;j++)
... (1 Reply)
Discussion started by: pinnacle
1 Replies
4. Shell Programming and Scripting
Hi everyboby
this is my problem
I Have this input
1111;222
222
2;333
3333;4444
111;
22222;33
33;
444
and I need this output
1111;2222222;3333333;4444 (15 Replies)
Discussion started by: agritur
15 Replies
5. Shell Programming and Scripting
say I'm doing awk 'NR==534'
Is there a way to display 534 535 536 537?
without appending to a variable? per line? maybe an easier way with a different command?
My first impression was NR==534-537 but that would be too easy :P (2 Replies)
Discussion started by: puttster
2 Replies
6. Shell Programming and Scripting
Hi experts,
I have a file with hundreds of lines that looks something like this:
Cake 1 3 4 2 3 1 3
Onion 3 2 4 1 3 4 2
Apple 2 3 4 4 1 2 1
Orange 4 3 4 1 2 4 1
Cake 3 1 4 2 4 2 1
Onion 2 4 2 1 4 2 1
Apple 4 3 3 3 3 2 1
Orange 2 1 2 2 2 4 1
Cake 4 3 4 3 1 3 3
...
I'm trying to... (2 Replies)
Discussion started by: david_seeds
2 Replies
7. Shell Programming and Scripting
Hi,
Input
7488 7389 chr1.fa chr1.fa
3546 9887 chr5.fa chr9.fa
7387 7898 chrX.fa chr3.fa
7488 7389 chr21.fa chr3.fa
7488 7389 chr1.fa chr1.fa
3546 9887 chr9.fa chr5.fa
7898 7387 chrX.fa chr3.fa
Desired Output
7488 7389 chr1.fa chr1.fa 2
3546 9887 chr5.fa chr9.fa 2... (2 Replies)
Discussion started by: jacobs.smith
2 Replies
8. Shell Programming and Scripting
Hi.
I need to filter lines based upon matches in multiple tab-separated columns. For all matching occurrences in column 1, check the corresponding column 4. IF all column 4 entries are identical, discard all lines. If even one entry in column 4 is different, then keep all lines.
How can I... (5 Replies)
Discussion started by: owwow14
5 Replies
9. Shell Programming and Scripting
What is the correct syntax to have the awk parse the next line as well? The next in bold is where I think it should go, but I wanted to ask the experts since I am a beginner. The file to be parsed is attached as well. Thank you :).
awk 'NR==2 {split($2,a,"");b=substr(a,1,length(a-1));print... (6 Replies)
Discussion started by: cmccabe
6 Replies
10. Shell Programming and Scripting
Hello all,
I have a large csv file where there are four types of rows I need to merge into one row per person, where there is a column for each possible code / type of row, even if that code/row isn't there for that person.
In the csv, a person may be listed from one to four times... (9 Replies)
Discussion started by: RalphNY
9 Replies
VIS(1) BSD General Commands Manual VIS(1)
NAME
vis -- display non-printable characters in a visual format
SYNOPSIS
vis [-cbflnostw] [-F foldwidth] [file ...]
DESCRIPTION
The vis utility is a filter for converting non-printable characters into a visual representation. It differs from 'cat -v' in that the form
is unique and invertible. By default, all non-graphic characters except space, tab, and newline are encoded. A detailed description of the
various visual formats is given in vis(3).
The options are as follows:
-b Turns off prepending of backslash before up-arrow control sequences and meta characters, and disables the doubling of backslashes.
This produces output which is neither invertible or precise, but does represent a minimum of change to the input. It is similar to
``cat -v''.
-c Request a format which displays a small subset of the non-printable characters using C-style backslash sequences.
-F Causes vis to fold output lines to foldwidth columns (default 80), like fold(1), except that a hidden newline sequence is used,
(which is removed when inverting the file back to its original form with unvis(1)). If the last character in the encoded file does
not end in a newline, a hidden newline sequence is appended to the output. This makes the output usable with various editors and
other utilities which typically do not work with partial lines.
-f Same as -F.
-l Mark newlines with the visible sequence '$', followed by the newline.
-n Turns off any encoding, except for the fact that backslashes are still doubled and hidden newline sequences inserted if -f or -F is
selected. When combined with the -f flag, vis becomes like an invertible version of the fold(1) utility. That is, the output can be
unfolded by running the output through unvis(1).
-o Request a format which displays non-printable characters as an octal number, ddd.
-s Only characters considered unsafe to send to a terminal are encoded. This flag allows backspace, bell, and carriage return in addi-
tion to the default space, tab and newline.
-t Tabs are also encoded.
-w White space (space-tab-newline) is also encoded.
SEE ALSO
unvis(1), vis(3)
HISTORY
The vis command appeared in 4.4BSD.
BUGS
Due to limitations in the underlying vis(3) function, the vis utility does not recognize multibyte characters, and thus may consider them to
be non-printable when they are in fact printable (and vice versa).
BSD
June 25, 2004 BSD