|
|
@@ -1476,6 +1476,7 @@ In Firefox's addressbar, you can limit results by typing special characters befo |
|
|
|
* [awk](#tool-awk) |
|
|
|
* [sed](#tool-sed) |
|
|
|
* [grep](#tool-grep) |
|
|
|
* [perl](#tool-perl) |
|
|
|
|
|
|
|
##### Tool: [terminal](https://en.wikipedia.org/wiki/Linux_console) |
|
|
|
|
|
|
@@ -3831,6 +3832,62 @@ grep -- -- filename |
|
|
|
grep "\-\-" filename |
|
|
|
``` |
|
|
|
|
|
|
|
##### Tool: [perl](https://www.perl.org/) |
|
|
|
|
|
|
|
###### Search and replace (in place) |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -i -pe's/SEARCH/REPLACE/' filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Edit of `*.conf` files changing all foo to bar (and backup original) |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -p -i.orig -e 's/\bfoo\b/bar/g' *.conf |
|
|
|
``` |
|
|
|
|
|
|
|
###### Prints the first 20 lines from `*.conf` files |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -pe 'exit if $. > 20' *.conf |
|
|
|
``` |
|
|
|
|
|
|
|
###### Search lines 10 to 20 |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -ne 'print if 10 .. 20' filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Delete first 10 lines (and backup original) |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -i.orig -ne 'print unless 1 .. 10' filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Delete all but lines between foo and bar (and backup original) |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -i.orig -ne 'print unless /^foo$/ .. /^bar$/' filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Reduce multiple blank lines to a single line |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -p -i -00pe0 filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Convert tabs to spaces (1t = 2sp) |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -p -i -e 's/\t/ /g' filename |
|
|
|
``` |
|
|
|
|
|
|
|
###### Read input from a file and report number of lines and characters |
|
|
|
|
|
|
|
```bash |
|
|
|
perl -lne '$i++; $in += length($_); END { print "$i lines, $in characters"; }' filename |
|
|
|
``` |
|
|
|
|
|
|
|
#### Shell functions [<sup>[TOC]</sup>](#anger-table-of-contents) |
|
|
|
|
|
|
|
##### Table of Contents |
|
|
|