40
votes
Accepted
iptables show just one chain
I almost deleted this question. D'oh! From man iptables:
-L, --list [chain]
List all rules in the selected chain.
33
votes
How to split a PEM file
The split command is available on most systems, and its invocation is likely easier to remember.
If you have a file collection.pem that you want to split into individual-* files, use:
split -p "--...
19
votes
How to make in SSH private key from one line, three lines
I would personally base64-encode the key, store it, then base64 decode it when you need it.
Encode:
echo "-----BEGIN RSA PRIVATE KEY----- my_super_secret_password -----END RSA PRIVATE KEY-----" | ...
11
votes
How to get all fingerprints for .ssh/authorized_keys(2) file
A one-liner based on the /dev/stdin trick from ℝaphink's answer and man xargs → EXAMPLES:
egrep '^[^#]' ~/.ssh/authorized_keys | xargs -n1 -I% bash -c 'ssh-keygen -l -f /dev/stdin <<<"%"...
9
votes
How to split a PEM file
If you want to get a single certificate out of a multi-certificate PEM bundle, try:
$ openssl crl2pkcs7 -nocrl -certfile INPUT.PEM | \
openssl pkcs7 -print_certs | \
awk '/subject.*CN=host....
8
votes
Extract a ids from text file
The most straightforward answer is to not try and utilize grep, sed, awk, etc for this - even though they will do it, you will most assuredly end up making assumptions and having to constantly shuffle ...
7
votes
How to split a PEM file
If you are handling full chain certificates (i.e. the ones generated by letsencrypt / certbot etc), which are a concatenation of the certificate and the certificate authority chain, you can use bash ...
7
votes
Calculate sum of several sizes of files in Bash
According to du(1), there is a -c option whose purpose is to produce the grand total.
% du -chs * /etc/passwd
92K ABOUT-NLS
196K NEWS
12K README
48K THANKS
8,0K TODO
4,0K /etc/passwd
360K ...
6
votes
Accepted
Calculate sum of several sizes of files in Bash
Use stat instead of du:
#!/bin/bash
for i in `grep -v ^# ~/cache_temp | grep -v "dovecot.index.cache"`; do
[ -f "$i" ] && totalsize=$[totalsize + $(stat -c "%s" "$i")]
done
echo ...
6
votes
Calculate sum of several sizes of files in Bash
If you need to use the file this snippet is hopefully efficient.
xargs -a cache_file stat --format="%s" | paste -sd+ | bc -l
The xargs is to prevent overflowing the argument limit but getting the ...
5
votes
How to get all fingerprints for .ssh/authorized_keys(2) file
Since recent versions of OpenSSH, this command already produces a nice listing for you:
ssh-keygen -l -f authorized_keys
Example:
# ssh-keygen -l -f authorized_keys
2048 SHA256:GzZ7......................
4
votes
iptables show just one chain
For those who might want to look at the mangle or nat tables with chains you can do so like
iptables -L mychainname -t mangle
Then it will show you that chain in the mangle table.
4
votes
Calculate sum of several sizes of files in Bash
If you remove the "-h" flag from your "du" command, you'll get the raw byte sizes. You can then add them with the ((a += b)) syntax:
a=0
for i in $(find . -type f -print0 | xargs -0 du -s | awk {'...
4
votes
Accepted
How to correctly escape single quotes in AWK
You cannot escape single quotes as the command itself is surrounded by single quotes, but you could use an octal escape code \047 to represent ' in POSIX awk. Additionally, you could use a hexadecimal ...
3
votes
How to show specific luns from lsscsi command?
Try this:
lsscsi 4 0 1 | sed -r '/\[4:0:1:(1|12|13)\].*/!d'
Output will be:
[4:0:1:1] /dev/sdab
[4:0:1:12] /dev/sdo
[4:0:1:13] /dev/sdp
3
votes
Accepted
How to extract the last two (or any number) directories from a path with sed?
echo "/your/directory/here/bla" | awk -F"/" '{ print "/"$(NF-1)"/"$NF }'
should work with a find, i didn't try, but something like this should be working :
find /yourfolder/structure -type d | awk -...
3
votes
Replace a string once another string has been found
Even if this can probably be solved by a sed command, it would be simpler to use the proper command to change yum configuration:
yum install yum-utils
yum-config-manager --enable remi-php56
And ...
3
votes
Color awk output on commandline?
For the convenience of future querents, here's a set of functions that one could put into a file called, let's say color.awk.
function BLACK(X) { return "\033[30m" X "\033[0m" }
...
3
votes
text processing linux using grep awk or anything else
IMHO Typically date/time manipulation works better when you treat a time string as time and not a text string.
Use the formatting options of the date command to get the timestamp to display in ...
3
votes
sed/awk - find match by one string and change different string on the same line
Sure you can solve your issue with one-liner, but it isn't reusable. So I suggest try to use this quickly written script and try to figure out, what it does, to improve your skills.
#!/bin/sh
...
3
votes
How to add the filename as prefix to each line of the text file? (batch processing; subdirectories)
You can use:
grep -r . .
The first . is RegExp patern matching any character. It will match all lines.
The second . is for the current folder, but you can replace it with any valid path. E.g.:
...
3
votes
How do I cut just the file name from from ls -l output?
/bin/ls -1
That leaves out all the goo :)
The problem being that ls in most distributions is aliased to something like “ls -la”. You can check that with “alias ls” and see if anything comes up
...
3
votes
Accepted
How do I cut just the file name from from ls -l output?
It's simpler to use a glob instead of ls to work with a list of file names
for f in *; do
echo file \'$f\'
done
3
votes
Convert lscpu output to row based format in excel/csv table format
You can print the output of lscpu in JSON format, then select what you need with jq:
[user@laptop ~]$ lscpu -J|jq .lscpu[0]
{
"field": "Architecture:",
"data": "...
3
votes
Convert lscpu output to row based format in excel/csv table format
Use JSON format and register the data to the variable lscpu_out
- command: lscpu -J
register: lscpu_out
Extract all variables lscpu_out, get the attribute stdout, convert the strings to ...
3
votes
Accepted
How to save input colors in awk?
some_command may have an option to force color even when it's
connected to a terminal, for example with grep it would be
--color=always. If it doesn't though you have to trick some_command
into ...
2
votes
AWK and file names with space in it.
You could try this.
awk '{print substr($0, index($0,$9))}'
For example this is the output of ls command:
-rw-r--r--. 1 root root 73834496 Dec 6 10:55 File with spaces 2
If you use simple awk ...
2
votes
How to combine lsof stat and ps to get more info in one line bash command
If you use awk to print $1 (the command) and $2 (the PID) in reverse order ($2, $1) this provides most of the information you want in a usable format. The first sort and uniq -c still work as expected ...
2
votes
Accepted
Matching first block of text from a file, between 2 strings
one line sed
sed -n '/^menuentry/,/\}$/{p;/^\}$/q}'
/^\}$/q means that "if the line matches with pattern /^\}$/ then quit"
2
votes
Accepted
Replace a string once another string has been found
Try this:
sed -i -e '/\[remi-php56\]/,/^\[/s/enabled=0/enabled=1/' /etc/yum.repos.d/*.repo
for process all .repo files, or you can specify single target .repo file.
Or you can use you-config-...
Only top scored, non community-wiki answers of a minimum length are eligible