To be able to see the job runner IP address in a gitlab job, you can add a script (or add it to an existing one) that uses hostname -I
script:
- hostname -I && your_other_script
To be able to see the job runner IP address in a gitlab job, you can add a script (or add it to an existing one) that uses hostname -I
script:
- hostname -I && your_other_script
You have two files (A.txt, B.txt) that contain records (one line each), and you want to find out the common lines between the two.
For example you have the following two files.
A.txt
one
two
three
and B.txt
two
six
seven
and you want to find or produce a new file (C.txt) that contains only the common record (two) from the two files.
You can use grep with the -Fx options like
grep -Fxf A.txt B.txt > C.txt
that will produce file C.txt that contains the common line (two) from the two files.
The options for grep have the following meaning:
-F
: Interpret the pattern as a list of fixed strings (instead of regular expressions).-x
: Only match whole lines.-f fileA.txt
: Read the patterns from fileA.txt
.It seems that the default email client in Fedora 40 is s-nail instead of mailx in Fedora 39, and trying to send an email from the command line does not work anymore.
The two changes required in order for the command to work with s-nail are:
s-nail: -a is an invalid alias name
So the full command can be like the following:
echo $body | mail -s "Reports for $yesterday" -a $report_path_a -a $report_path_b -c $cc_recipients $recipients
To convert an xlsx file to csv in command line, you can use the following if you have libreoffice installed
libreoffice --headless --convert-to csv file.xlsx
You want to print a summary of commits in git that contain a certain pattern (‘number’) ordered by date and with the total number of commits per day
You can use the following for the patter ‘number’
git log --pretty=format:'%h %ad | %s%d [%an]' --date=short | grep 'number' | awk '{print $2}' | sort -r | uniq -c | awk '{ print $2,$1}'
The last awk command is to swap the date with the total number
The output should be something like the following
2024-06-18 2
2024-06-17 3
2024-06-14 1
2024-06-13 1
2024-06-12 1
2024-06-11 4
2024-06-10 3
You want to get a field from a kubernetes configmap using json but the name contains a dot (ie ca.crt)
You can use the following (escaping the dot)
kubectl get configmap <configmap> o jsonpath='{.data.ca\.crt}’
You have two different files fileA and fileB containing similar records (one record per line), and you would like to remove the records that fileB contains from fileA (subtract) producing a new file (fileC) that contains only records that are contained in fileA with records from fileB removed.
Use the following grep command
grep -vxf fileB fileA > fileC
You want to use ldapsearch to search from a file (file contains domains and ldap contains emails), but you want to suppress empty output lines (option -LLL does not seem to suppress them).
Use grep -v ‘^$’ like
ldapsearch -LLL -H "ldaps://ldap_url:nnnn" -D "cn=Directory Manager" -w $LDP -b "ou=ou_name,dc=domain,dc=com" -s sub -f denyDomains.txt "(mail=*@%s)" uid mail status | grep -v '^$' > denyDomainsResults.txt
You would like to see all the available options for a jaeger docker container (ie query:1.54), with elasticsearch as the backend
The commands to run to be able to see all available options, using the image (replace the query:1.54), can be seen using:
docker run -e SPAN_STORAGE_TYPE=elasticsearch jaegertracing/jaeger-query:1.54 --help
All the available options can be converted to environment variables that can be passed as -e ENV_NAME by converting the option replacing all names with capitals and everything else with an underscore(example: –es.tls.enabled -> ES_TLS_ENABLED)
You would like to do a search for a specific LDAP attribute (ie email) using a file (emails.txt) with the list of emails you want to search for.
After exporting the password (LDP) you can use the following to do the search and output the results into a file (search_results.txt)
ldapsearch -LLL _H "ldaps://ldap_url:port" -D "cn=User_name" -w $LDP -b "ou=ou_name,dc=dc_name,dc=domain_name" -s sub -f emails.txt "(mail_attribute=%s)" uid mail_attribute other_attribute > search_results.txt