Browse Source

add perl one-liners

- signed-off-by: trimstray <trimstray@gmail.com>
pull/127/head
trimstray 5 years ago
parent
commit
b2d6885850
1 changed files with 57 additions and 0 deletions
  1. +57
    -0
      README.md

+ 57
- 0
README.md View File

@@ -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 &nbsp;[<sup>[TOC]</sup>](#anger-table-of-contents)

##### Table of Contents


Loading…
Cancel
Save