Skip to content

Instantly share code, notes, and snippets.

View nitesh8860's full-sized avatar

Nitesh Chauhan nitesh8860

View GitHub Profile
#!/bin/bash
echo script name: $0
echo first argument: $1
echo number of arguments passed: $#
echo all the arguments are: $@
echo exit status of most recent process: $?
echo process id of the script: $$
echo username: $USER
echo hostname: $HOSTNAME
echo a random number: $RANDOM
# Note that spaces cannot be used around the `=` assignment operator
whom_variable="World"
# Use printf to safely output the data
printf "Hello, %s\n" "$whom_variable"
> Hello, World
#If you want to bash to expand your argument, you can use Weak Quoting:
#!/usr/bin/env bash
world="World"
#add below to ~/.bashrc
force_color_prompt=yes
color_prompt=yes
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
@nitesh8860
nitesh8860 / secondHighest.py
Created June 12, 2020 11:03
getting the second highest number in the list with help of filter in python
max_arr=max(arr)
arr=list(filter(lambda x: x!=max_arr, arr))
print(max(arr))
def fun(s):
# return True if s is a valid email, else return False
import re
rex = re.compile("^[\w\-\_]+\@[a-zA-Z0-9]+\.\w{1,3}$")
if rex.match(s):
return True
else:
return False
@nitesh8860
nitesh8860 / reduce.py
Created June 12, 2020 15:15
using reduce function
from functools import reduce
l=[1,2,3,4]
print(reduce(lambda x,y: x*y, l, -1))
#> -24
#reduce(func with 2 params, iterable, initial value )
from datetime import datetime
t1='Sat 02 May 2015 19:54:36 +0530'
t2='Fri 01 May 2015 13:54:36 -0000'
t1=datetime.strptime(t1,'%a %d %b %Y %H:%M:%S %z')
t2=datetime.strptime(t2,'%a %d %b %Y %H:%M:%S %z')
# print(t1-t2)
#> 1 day, 0:30:00
print ((t1-t2).total_seconds())
@nitesh8860
nitesh8860 / timeit-list.py
Last active June 15, 2020 05:57
calculating time taken for list growth with different methods using timeit
# List comprehensions are the fastest.
def test1():
l = []
for i in range(1000):
l = l + [i]
def test2():
l = []
for i in range(1000):
@nitesh8860
nitesh8860 / awscli-deleteLogGroupPatterns.sh
Created May 23, 2021 03:26
deletes log groups in bulk from cloudwatch
export AWS_DEFAULT_REGION=eu-west-1
aws logs describe-log-groups --query 'logGroups[*].logGroupName' --output table | \
awk '{print $2}' | grep ^/aws/rds | while read x; do echo "deleting $x" ; aws logs delete-log-group --log-group-name $x; done
#to print column number:
STDIN | awk '{print $COLUMN_NUMBER}'