-p causes Perl to assume the following loop around your program, which makes it iterate over filename arguments somewhat like sed:
LINE:
while (<>) {
... # your program goes here
} continue {
print or die "-p destination: $!\n";
}
If a file named by an argument cannot be opened for some reason, Perl warns you about it, and moves on to the next file.
Note that the lines are printed automatically. An error occurring during printing is treated as fatal.
To suppress printing use the -n switch. A -p overrides a -n switch.
"BEGIN" and "END" blocks may be used to capture control before or after the implicit loop, just as in awk.
....
-0[octal/hexadecimal]
specifies the input record separator ($/) as an octal or hexadecimal number.
If there are no digits, the null character is the separator.
Other switches may precede or follow the digits. For example, if you have a version of find which
can print filenames terminated by the null character, you can say this:
find . -name ’*.orig’ -print0 │ perl -n0e unlink
The special value 00 will cause Perl to slurp files in paragraph mode.
The value 0777 will cause Perl to slurp files whole because there is no legal byte with that value.
If you want to specify any Unicode character, use the hexadecimal format: "-0xHHH...",
where the "H" are valid hexadecimal digits. (This means that you cannot use
the "-x" with a directory name that consists of hexadecimal digits.)
....
-e commandline
may be used to enter one line of program. If -e is given, Perl will not look for a filename in the argument list.
Multiple -e commands may be given to build up a multi-line script.
Make sure to use semicolons where you would in a normal program.
This User Gave Thanks to Skrynesaver For This Post:
Hi,
I am new to this forum and i would like to get help in this issue.
I have a file 1.txt as shown:
apple
banana
orange
apple
grapes
banana
orange
grapes
orange
....
Now i would like to search for pattern say apple or orange and then put a # at the beginning of the pattern... (2 Replies)
Hi,
I think you ppl did not get my question correctly, let me explain
I have 1.txt with following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433
**
**
**
In file 2.txt I have the following entries as shown:
... (1 Reply)
Hi,
I have file 1.txt with following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433
**
**
**
In file 2.txt I have the following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433... (4 Replies)
trying to use sed in finding a matching pattern in a file then deleting
the next line only .. pattern --> <ad-content>
I tried this but it results are not what I wish
sed '/<ad-content>/{N;d;}' akv.xml > akv5.xml
ex,
<Celebrant2First>Mickey</Celebrant2First>
<ad-content>
Minnie... (2 Replies)
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)
I want to delete all the blank lines from a file before a certain line number. e.g.
Input file (n: denotes line number)
1: a
2:
3: b
4: c
5:
6: d
I want to delete all blank lines before line number 3, such that my output is:
a
b
c
d
I see that sed '/^$/d' in_file works... (9 Replies)
Hi I just wanted to add a new line after every matching pattern:
The method doing this doesn't matter, however, I have been using sed and this is what I tried doing, knowing that I am a bit off:
sed 'Wf a\'/n'/g'
Basically, I want to add a new line after occurrence of Wf. After the line Wf... (5 Replies)
Dear Unix Forums,
I am hoping you can help me with a pattern matching problem.
What am I trying to do?
I want to replace multiple lines of a text file (that match a multi-line pattern) with a single line of text. These patterns can span several lines and do not always have the same number of... (10 Replies)
'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)
Looking for help,
i have input file like below and want to modify to expected output, if can without create additional file, hope can direct modify it.
have 2 thing need do.
1st
is adding a word (testplan generation off) after ! ! IPG: Tue Aug 07 14:31:17 2018
2nd
is adding... (16 Replies)
Discussion started by: kttan
16 Replies
LEARN ABOUT PLAN9
tr
TR(1) General Commands Manual TR(1)NAME
tr - translate characters
SYNOPSIS
tr [ -cds ] [ string1 [ string2 ] ]
DESCRIPTION
Tr copies the standard input to the standard output with substitution or deletion of selected characters (runes). Input characters found
in string1 are mapped into the corresponding characters of string2. When string2 is short it is padded to the length of string1 by dupli-
cating its last character. Any combination of the options -cds may be used:
-c Complement string1: replace it with a lexicographically ordered list of all other characters.
-d Delete from input all characters in string1.
-s Squeeze repeated output characters that occur in string2 to single characters.
In either string a noninitial sequence -x, where x is any character (possibly quoted), stands for a range of characters: a possibly empty
sequence of codes running from the successor of the previous code up through the code for x. The character followed by 1, 2 or 3 octal
digits stands for the character whose 16-bit value is given by those digits. The character sequence followed by 1, 2, 3, or 4 hexadecimal
digits stands for the character whose 16-bit value is given by those digits. A followed by any other character stands for that character.
EXAMPLES
Replace all upper-case ASCII letters by lower-case.
tr A-Z a-z <mixed >lower
Create a list of all the words in one per line in where a word is taken to be a maximal string of alphabetics. String2 is given as a
quoted newline.
tr -cs A-Za-z '
' <file1 >file2
SOURCE
/sys/src/cmd/tr.c
SEE ALSO sed(1)TR(1)