🖥️paste

➡️This is a command-line reference manual for commands and command combinations that you don’t use often enough to remember it. This cheatsheet explains the paste command with important options and switches using examples.

▁ ▂ ▃ ▄ ꧁ 🔴☠ COMMANDLINE-KUNGFU WITH CHEATSHEETS ☠🔴꧂▅ ▃ ▂ ▁

#                ██████╗  █████╗ ███████╗████████╗███████╗
#                ██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██╔════╝
#                ██████╔╝███████║███████╗   ██║   █████╗  
#                ██╔═══╝ ██╔══██║╚════██║   ██║   ██╔══╝  
#                ██║     ██║  ██║███████║   ██║   ███████╗
#                ╚═╝     ╚═╝  ╚═╝╚══════╝   ╚═╝   ╚══════╝
                

                                                        
# Concat columns from files
paste file1 file2 ...

# List the files in the current directory in three columns:
ls | paste - - -

# Combine pairs of lines from a file into single lines:
paste -s -d '\t\n' myfile

# Number the lines in a file, similar to nl(1):
sed = myfile | paste -s -d '\t\n' - -

# Create a colon-separated list of directories named bin,
# suitable for use in the PATH environment variable:
find / -name bin -type d | paste -s -d : -

# Display two calendar months side by side -  The Linux's `cal` command is nice, but there are times when I need to see two months side by side and this command will do it. Show Sample Output
paste <(cal 8 2018) <(cal 9 2018)

paste <(cal 2013) <(cal 2014) 
# Look at the full year calendar for 2013 and 2014 side by side. (Requires term width > 135).

# Rename all files in a directory to lowercase names
paste <(ls) <(ls | tr A-Z a-z) | while read OLD NEW; do echo mv -v $OLD $NEW; done

# Explanation: 
    # <(cmd) is the filename of a named pipe (FIFO), where the named pipe is filled by the output of cmd
    # paste puts together the named pipes to form two columns: first column with the original filenames, second column with the lowercased filenames
    # ... | tr abc ABC transforms stdin by replacing any characters that appear in the first set of letters to the second set of letters
    # while read old new; do ...; done for each line it reads the first column into $old and the second column into $new

# Limitations: 
    # Will not work if there are spaces in a filename.

# Textfiles formatieren - Gelegentlich muss ich Textdateien anders formatieren, Leerzeilen entfernen, den Umbruch verschieben...
# Grep entfernt alle Leerzeilen, paste fügt alles zu einer langen Textwurst zusammen, getrennt durch ein Leerzeichen und fold bricht dann beim letzten Wortende vor Spalte 70 um.
grep -v '^$' loreipsum.txt | paste -s -d ' ' | fold -s -w 70

# cat & split
#---------------#
    # Erklärung: Hier wird eine 100MB große Datei angelegt, die in 14MB große einzelne Dateien zerlegt wird und danach wieder zusammengefügt wird.

dd if=/dev/urandom of=test1.big count=100 bs=1M
split -b14m test1.big
cat x?? > test2.big
md5sum test.big test2.big

tac
	# Erklärung: Hier wird einen Liste der letzten installierten Pakete ausgeben und anschließend herumgedreht, damit das letzte installierte Paket unten in der Liste steht.

rpm -qa --last | tac

cut
# Erklärung: Hier werden die ersten 25 Bytes aus Logfile messages vom Seiten-Anfang herausgeschnitten, setzt man das Minus vor die Zahl wird alles nach den 25 Byte herausgeschnitten

cut -b25- /var/log/messages | sort

cut & paste
	# Erklärung: Ausschneiden von Textausschnitte aus einer Datei, in einzelne Dateien kopiert und dann wieder zusammen in eine Datei zusammengeführt.
cut -d: -f1-3 /etc/passwd > spalte1-3
cut -d: -f4- /etc/passwd > spalte4-7

# Wieder  zusammensetzen
paste -d: spalte1-3 spalte4-7

sort mit du
	# Erklärung: Hier wird mit du (disk usage) die Größe der Verzeichnisse ausgegeben und sortiert
du -mx / | sort -n
# Hier ist der Beitrag Disk Usage (du) von mir, wenn jemand das Tool noch nicht kennen sollte.
	# Noch ein Beispiel:
sort -t : -k 3n /etc/passwd
	# Erklärung: Hier werden die User in der passwd nach der id sortiert aufsteigend sortiert, Trenner ist der Doppelpunkt.

column
	# Erklärung: Hier werden die IP-Routen schön in Spalten angezeigt um die Lesbarkeit zu verbessern.
ip r s | column -t

pr
	# Erklärung: Hier wird die Ausgabe des Textes zur besseren Lesbarkeit oder zum Ausdrucken aufbereitet und mit Seitenzahl angezeigt
wget -q -O - www.gnu.org/licenses/gpl-3.0.txt | pr | less

#==============================##==============================#
# CMD PASTE						       #
#==============================##==============================#
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

  █║▌│║█║▌★ KALI ★ PARROT ★ DEBIAN 🔴 PENTESTING ★ HACKING ★ █║▌│║█║▌

              ██╗ ██╗ ██████╗  ██████╗ ██╗  ██╗███████╗██████╗
             ████████╗██╔══██╗██╔═══██╗╚██╗██╔╝██╔════╝██╔══██╗
             ╚██╔═██╔╝██║  ██║██║   ██║ ╚███╔╝ █████╗  ██║  ██║
             ████████╗██║  ██║██║   ██║ ██╔██╗ ██╔══╝  ██║  ██║
             ╚██╔═██╔╝██████╔╝╚██████╔╝██╔╝ ██╗███████╗██████╔╝
              ╚═╝ ╚═╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═════╝

               █║▌│║█║▌ WITH COMMANDLINE-KUNGFU POWER █║▌│║█║▌

░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░