book
  • README
  • cheatsheet
    • bash
      • builtin
      • syntactic sugar
      • cmd
      • havefun
    • text-processing
      • awk
      • sed
      • html
      • json
      • regex
      • unicode
    • osx
    • curl
    • tricky
    • widget
    • proxy
    • colors
    • math
    • media
    • ssl
      • keystore
      • verification
      • server
      • client
      • tricky
    • windows
      • powershell
      • choco
      • wsl
      • wt
      • shortcut
      • clsid
      • env
      • shell:folder
  • vim
    • nvim
    • install
    • color
    • plugins
      • usage
      • other plugins
      • deprecated
    • tricky
    • viml
    • windows
    • troubleshooting
  • devops
    • admin tools
    • ssh
    • git
      • config
      • alias
      • submodule
      • eol
      • example
      • gerrit
        • gerrit API
      • github
      • troubleshooting
      • tricky
      • statistics
    • pre-commit
    • release-tools
    • tmux
      • cheatsheet
    • ansible
    • vault
    • artifactory
      • api
      • cli
      • aql
      • nginx cert
    • klocwork
      • kwadmin
      • kwserver
      • api
      • q&a
    • elk
    • mongodb
    • android
    • mobile
  • jenkins
    • config
      • windows
    • appearance
    • troubleshooting
    • jenkinsfile
      • utility
      • parallel
      • build
      • envvar
      • properties
      • trigger
      • node
    • script
      • job
      • build
      • stage
      • agent
      • security & authorization
      • exception
      • monitor
      • tricky
    • api
      • blueocean
    • cli
    • plugins
      • kubernetes
      • docker
      • shared-libs
      • lockable-resource
      • ansicolor
      • badge
      • groovy-postbuild
      • simple-theme
      • customizable-header
      • artifactory
      • jira-steps
      • job-dsl
      • build-timeline
      • crumbIssuer
      • coverage
      • uno-choice
      • tricky
  • virtualization
    • kubernetes
      • init
        • kubespray
        • kubeadm
          • environment
          • crio v1.30.4
          • docker v1.15.3
          • HA
        • addons
        • etcd
      • kubectl
        • pod
        • deploy
        • replicasets
        • namespace
        • secrets
      • node
      • certificates
      • events
      • kubeconfig
      • kubelet
      • troubleshooting
      • cheatsheet
      • auth
      • api
      • tools
        • monitor
        • helm
        • network
        • minikube
    • docker
      • run & exec
      • voume
      • remove
      • show info
      • dockerfile
      • dockerd
      • tricky
      • troubleshooting
      • windows
    • crio
    • podman
  • ai
    • prompt
  • osx
    • apps
      • init
      • brew
    • defaults
    • system
    • network
    • script
    • tricky
  • linux
    • devenv
    • util
      • time & date
      • output formatting
      • params
      • tricky
    • nutshell
    • disk
    • network
    • troubleshooting
    • system
      • apt/yum/snap
      • authorization
      • apps
      • x11
    • ubuntu
      • systemctl
      • x
    • rpi
  • programming
    • groovy
    • python
      • config
      • basic
      • list
      • pip
      • q&a
    • others
    • archive
      • angular
      • maven
      • mysql
        • installation
        • logs
      • ruby
        • rubyInstallationQ&A
  • tools
    • fonts
    • html & css
    • Jira & Confluence
    • node & npm
      • gitbook
      • hexo
      • github.page
      • code themes
    • app
      • microsoft office
      • vscode
      • virtualbox
      • iterm2
      • browser
      • skype
      • teamviewer
      • others
  • quotes
  • english
Powered by GitBook
On this page
  • dotfiles
  • highlight output
  • remove highlight
  • alias
  • get cookie from firefox
  • authentication
  • downlaods bookmark
  • markdown icons
  • extract fonts from pdf

Was this helpful?

  1. cheatsheet

tricky

PreviouscurlNextwidget

Last updated 23 days ago

Was this helpful?

dotfiles

[!TIP|label:references:]

highlight output

[!TIP] references:

$ curl -sg https://api.domain.com | ack --passthru 'keyword'

less

$ curl -sg https://api.domain.com | less -i -p 'keyword'
$ command | grep --color=always 'pattern\|$'
$ command | grep --color=always -E 'pattern|$'
$ command | egrep --color=always 'pattern|$'
  • example

    $ curl -sg 'https://api.domain.com | jq -r . | grep --color=always '.*keyword.*\|$'
    
    # or
    $ curl -sg 'https://api.domain.com | jq -r . | grep --color=always -E '| .*keyword.*'

[!TIP] Highlight was designed to offer a flexible but easy to use syntax highlighter for several output formats. Instead of hardcoding syntax or colouring information, all relevant data is stored in configuration scripts. These scripts may be altered or enhanced with plug-in scripts.

$ highlight -i git.groovy -o git.groovy.html --syntax groovy --inline-css --include-style --line-numbers

[!TIP] ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.

$ ccat /path/to/file.groovy

# output html format
$ ccat file.py --bg=dark --html

# get colors
$ ccat --palette

render visualization of hexadecimal colors

[!NOTE|label:references:]

# colorcat
# - cats a file, but if any line contains N hex colors, it appends the colors
#   (rendered as ansi escape sequences) to the end of the line.
# - input can be stdin, a file, or a hex color in plain text
function colorcat() {
  if [[ "$#" -eq 1 && ! -f "$1" ]]; then
    echo "$1"
  else
    cat "$@"
  fi | while read -r line; do
    local colors=""
    for word in $line; do
      if [[ "$word" =~ ^[^A-Fa-f0-9]*#?([A-Fa-f0-9]{6})[^A-Fa-f0-9]*$ ]]; then
        hex=${BASH_REMATCH[1]}
        local r=$((16#${hex:0:2}))
        local g=$((16#${hex:2:2}))
        local b=$((16#${hex:4:2}))
        local truecolor="\033[48;2;${r};${g};${b}m"
        local reset="\033[0m"
        colors="${colors}${truecolor}  ${reset} "
      fi
    done
      echo -e "$line $colors"
  done
}

others

remove highlight

[!TIP] references:

$ <cmd> | sed -r "s/\x1B\[([0-9]{1,3}(;[0-9]{1,2};?)?)?[mGK]//g"

# or
$ alias decolorize='sed -r "s/\x1B\[(([0-9]+)(;[0-9]+)*)?[mGKHfJ]//g"'
# deprecated
# $ alias decolorize='sed -r "s/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]//g"'
$ command | decolorize
  • tips

    $ git br -a | cat -A
    * ^[[1;32mmarslo^[[m$
      ^[[31mremotes/origin/marslo^[[m$
      ^[[31mremotes/origin/gh-pages^[[m$
      ^[[31mremotes/origin/gitbook^[[m$
      ^[[31mremotes/origin/master^[[m$
      ^[[33mgh-pages^[[m$
      ^[[33mmaster^[[m$
      ^[[31mremotes/origin/sample^[[m$
    
    $ git br -a | decolorize | cat -A
    * marslo$
      remotes/origin/marslo$
      remotes/origin/gh-pages$
      remotes/origin/gitbook$
      remotes/origin/master$
      gh-pages$
      master$
      remotes/origin/sample$

[!NOTE|label:references:]

$ echo ${BASH_ALIASES[ls]}
ls --color=always
  • get bash login log ( for rc script debug )

    $ bash -l -v
  • run with only one startup file ( for sharing accounts )

    $ bash -i --rcfile="$HOME/.marslo/.imarslo"

get cookie from firefox

$ grep -oP '"url":"\K[^"]+' $(ls -t ~/.mozilla/firefox/*/sessionstore.js | sed q)

authentication

references:

  • $ echo -n '] [ ? /' |
      fmt -1 |
      xargs -i bash -c 'echo "{} -- $(echo -n {} | jq -sRr @uri)"'
    ] -- %5D
    [ -- %5B
    ? -- %3F
    / -- %2F
CHARACTERS
PERCENT-ENCODED

]

%5D

[

%5B

?

%3F

/

%2F

<

%3C

~

%7E

#

%23

```

%6D

!

%21

@

%40

$

%24

%

%25

^

%5E

&

%26

*

%2A

(

%28

)

%29

+

%2B

=

%3D

}

%7D

`

%7C

:

%3A

"

%22

;

%3B

'

%27

,

%2C

>

%3E

{

%7B

space

%20

downlaods bookmark

[!TIP|label:references:]

markdown icons

[!NOTE|label:references:]

programming

NAME
ICON
MARKDOWN

python

![](https://img.shields.io/badge/-PYTHON-3670A0?logo=python&logoColor=ffdd54&style=flat&labelColor=416790)

groovy

![](https://img.shields.io/badge/-GROOVY-4298B8.svg?style=flat&logo=Apache+Groovy&logoColor=white&labelColor=c96908&color=d6700a)

tools

NAME
ICON
MARKDOWN

vim

![](https://img.shields.io/badge/-VIM-5ca730?&style=flat&logo=vim&logoColor=white&labelColor=50932d)

neovim

![](https://img.shields.io/badge/-NEOVIM-57A143?logo=neovim&logoColor=white&style=flat)

git

![](https://img.shields.io/badge/-GIT-%23F05033.svg?logo=git&logoColor=white&style=flat)

git

![](https://img.shields.io/badge/-GIT-%238957E5.svg?logo=git&logoColor=white&style=flat&labelColor=7C4ED0)

iterm2

![](https://img.shields.io/badge/iTerm2-000000?logo=iterm2&logoColor=fff&style=flat)

helm

![](https://img.shields.io/badge/-HELM-0F1689?logo=helm&logoColor=fff&style=flat)

file format

NAME
ICON
MARKDOWN

yaml

![](https://img.shields.io/badge/YAML-CB171E?logo=yaml&logoColor=fff&style=flat)

json

![](https://img.shields.io/badge/JSON-000?logo=json&logoColor=fff&style=flat)

platform

NAME
ICON
MARKDOWN

macos

![](https://img.shields.io/badge/macOS-000000?logo=apple&logoColor=F0F0F0&style=flat)

linux

![](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black&style=flat)

ubuntu

![](https://img.shields.io/badge/Ubuntu-E95420?logo=ubuntu&logoColor=white&style=flat)

github readme status

[!NOTE|label:references:]

TOOL
MARKDOWN
IMAGE

streak-stats

![](https://streak-stats.demolab.com/?user=marslo&theme=light)

extract fonts from pdf

$ python3 -m pip install pdfminer
$ python3 -m pip install pdfminer.six
$ python3 pdf_font_report.py input.pdf --format csv --output result.csv
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import argparse
import csv
from pdfminer.high_level import extract_pages
from pdfminer.layout import LTTextContainer, LTChar, LTTextLine, LTTextBox

def analyze_pdf_fonts(pdf_path, output_format=None, output_file=None):
    rows = []

    for page_number, page_layout in enumerate(extract_pages(pdf_path), start=1):
        for element in page_layout:
            if isinstance(element, LTTextContainer):
                for text_line in element:
                    if hasattr(text_line, "__iter__"):
                        for character in text_line:
                            if isinstance(character, LTChar):
                                char = character.get_text()
                                font = character.fontname
                                size = round(character.size, 2)
                                rows.append((page_number, char, font, size))
                    elif isinstance(text_line, LTChar):
                        # handle case where element is directly a character
                        char = text_line.get_text()
                        font = text_line.fontname
                        size = round(text_line.size, 2)
                        rows.append((page_number, char, font, size))

    if output_format == "markdown":
        print("| Page | Char | Font | Size |")
        print("|------|------|------|------|")
        for row in rows:
            print(f"| {row[0]} | `{row[1]}` | `{row[2]}` | {row[3]} |")

    elif output_format == "csv":
        if not output_file:
            output_file = "font_report.csv"
        with open(output_file, "w", newline="", encoding="utf-8") as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow(["Page", "Char", "Font", "Size"])
            writer.writerows(rows)
        print(f"[✓] CSV report saved to: {output_file}")

    else:
        # Default: plain text output
        for row in rows:
            print(f"Page {row[0]}: '{row[1]}' → {row[2]} ({row[3]}pt)")

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Extract character-font-size info from PDF")
    parser.add_argument("pdf", help="Path to input PDF file")
    parser.add_argument("-f", "--format", choices=["markdown", "csv"], help="Output format")
    parser.add_argument("-o", "--output", help="Output file (for CSV)")
    args = parser.parse_args()

    analyze_pdf_fonts(args.pdf, args.format, args.output)

|

|

dotfiles
webpro/awesome-dotfiles
dotfiles.github.io
Colorized grep -- viewing the entire file with highlighted matches
Highlight text similar to grep, but don't filter out text [duplicate]
kilobyte/colorized-logs
ack
grep
highlight
ccat
#2705 Render visualization of hexadecimal colors (or other common formats) using true color ANSI escape sequences
dev-shell-essentials
Removing colors from output
Remove ANSI color codes from a text file using bash
alias
_complete_alias
cykerway/complete-alias
How do I get bash completion for command aliases?
make-completion-wrapper
make-completion-wrapper
bash-completion/README
bash -<parameter>
special characters in usernames and passwords
percent-encoding
terrorgum.com
Bash Cookbook
Becoming the Hacker
Deep Learning Revolution
linux basics for hackers.pdf
Linux In Nutshell.pdf
pdfprof.com
Advanced Bash-Scripting Guide
Linux Bash Shell Cheat Sheet
dye784/collection
* Simple Icons
* Primer Design System
github - custom-icon-badges
Ileriayo/markdown-badges
VishwaGauravIn/pretty-readme-badges
inttter/md-badges
Simple Icons slugs
github-readme-stats
github-readme-streak-stats
dotfiles
highlight output
ack
less
grep
highlight
ccat
render visualization of hexadecimal colors
others
remove highlight
alias
bash -<parameter>
get cookie from firefox
authentication
special characters in usernames and passwords
downlaods bookmark
markdown icons
programming
tools
file format
platform
github readme status
extract fonts from pdf
* iMarslo - get unicode