Guest User

Untitled

a guest
Apr 25th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.45 KB | None | 0 0
  1. # #!/bin/bash
  2. snippet #!
  3. #!/bin/bash
  4.  
  5. snippet if
  6. if [[ ${1:condition} ]]; then
  7. ${2:#statements}
  8. fi
  9. snippet ife
  10. if [[ ${1:condition} ]]; then
  11. ${2:#statements}
  12. else
  13. ${3:#statements}
  14. fi
  15. snippet elif
  16. elif [[ ${1:condition} ]]; then
  17. ${2:#statements}
  18. snippet for c-style
  19. for (( ${2:i} = 0; $2 < ${1:count}; $2++ )); do
  20. ${3:#statements}
  21. done
  22. snippet for in-list
  23. for ${1:var} in $${2:list}; do
  24. echo "$$1"
  25. done
  26. snippet for numargs
  27. numargs=$#
  28. for ((i=1 ; i <= numargs ; i++)); do
  29. echo "$1"
  30. shift
  31. done
  32. snippet for times..sequence
  33. for ${1:i} in {${2:1}..${3:10}}
  34. do
  35. echo "$$1"
  36. done
  37. snippet for index..loop
  38. for ${1:i} in ${!${2:Array}[@]}
  39. do
  40. echo "${$2[$1]}"
  41. done
  42.  
  43. snippet wh
  44. while [[ ${1:condition} ]]; do
  45. ${2:#statements}
  46. done
  47. snippet until
  48. until [[ ${1:condition} ]]; do
  49. ${2:#statements}
  50. done
  51. snippet case
  52. case ${1:word} in
  53. ${2:pattern})
  54. ${3};;
  55. * )
  56. ;;
  57. esac
  58. snippet sort plain
  59. sort -t${1:delim} -k${2:1,1} ${3:file}
  60. snippet sort with tab
  61. sort -t$'\t' -k${1:1,1} ${3:file}
  62. snippet cut plain
  63. cut -d${1:delim} -f${2:1} ${3:file}
  64. snippet cut with tab
  65. cut -d$'\t' -f${1:1,2} ${3:file}
  66. snippet cut columns
  67. cut -c${2:1-80} ${3:file}
  68. snippet z
  69. [ -z "$${1:variable} " ] && $1=${2:value}
  70. snippet sed search replace
  71. sed "s/${1:pattern}/${2:#text}/g"
  72. snippet sed delete
  73. sed ${1:1}'d' ${2:filename}
  74. snippet sed delete pattern
  75. sed "/${1:pattern}/d" ${2:filename}
  76. snippet whiler
  77. while IFS='' read -b ${1:line}
  78. do
  79. echo $$1
  80. done < $${2:infile}
  81. #
  82. snippet yesno simple
  83. read ${1:yn}
  84. if [[ $$1 =~ [Yy] ]]; then
  85. echo "${2:#statement}"
  86. else
  87. echo "${3:#statement}"
  88. fi
  89. snippet yesno longer with prompt
  90. echo -n "Do you wish to ${1:#question}" '[y/n] ' ; read ${2:ans}
  91. case "$$2" in
  92. y*|Y*) ${3:#statement} ;;
  93. *) ${4:#statement};;
  94. esac
  95.  
  96. snippet match tilde
  97. if [[ ${1:string} =~ ${2:regex} ]]; then ${3:#statement}; fi
  98. snippet match double bracket
  99. if [[ $${1:string} = *${2:text}* ]]; then
  100. ${3:#statement}
  101. fi
  102. snippet match grep
  103. if grep -q "${1:regex}" <<< "$${2:data}"
  104. then
  105. echo "$$2 contains the substring sequence \"$1\""
  106. fi
  107.  
  108. snippet exc
  109. ex - ${1:file}<<!
  110. ${2:lineno}c
  111. ${3:newdata}
  112. .
  113. x
  114. !
  115. echo "Updated line $2 in $1 with \'$3\'"
  116.  
  117. snippet exa
  118. ex - ${1:file}<<!
  119. ${2:lineno}a
  120. ${3:text}
  121. .
  122. x
  123. !
  124.  
  125. snippet exi
  126. ex - ${1:file}<<!
  127. ${2:lineno}i
  128. ${3:text}
  129. .
  130. x
  131. !
  132.  
  133. snippet getopts traditional
  134. while getopts ${2:opt1}:${3:opt2}: ${1:flag}
  135. do
  136. case $$1 in
  137. $2 )
  138. ;;
  139. $3 ) file="$OPTARG"
  140. ;;
  141. h ) help;;
  142. v ) VERBOSE_FLAG=1
  143. V ) echo "Version 1.0"
  144. *) usage;;
  145. esac
  146. done
  147. shift $(($OPTIND - 1))
  148.  
  149. # this one doesn't work since it has $1 and $2 in it FIXME
  150. snippet getopts short and long
  151. while [[ $${1:1} = -* ]]; do
  152. case "$$1" in
  153. -x|--extmode)
  154. MY_EXTENDEDMODE=1
  155. shift
  156. ;;
  157. -u|--user)
  158. MY_USERNAME="$${2:2}"
  159. shift 2
  160. ;;
  161. -f|--configfile)
  162. MY_CONFIG="$$2"
  163. shift 2
  164. ;;
  165. -h|--help)
  166. display_help # a function ;-)
  167. # no shifting needed here, we'll quit!
  168. exit
  169. ;;
  170. *)
  171. echo "Error: Unknown option: $$1" >&2
  172. exit 1
  173. ;;
  174. esac
  175. done
  176.  
  177. echo "Processing files..."
  178.  
  179. for arg in "$@"; do
  180. echo "File: $arg"
  181. done
  182.  
  183. snippet $#
  184. if [ $# -lt 1 ]; then
  185. echo "${1:#missing arguments}"
  186. exit 1
  187. else
  188. ${2:#action}
  189. fi
  190. # uppercase a variable
  191. snippet uc
  192. ${1:var}=$( echo "$$1" | tr '[:lower:]' '[:upper:]' )
  193.  
  194. snippet trim
  195. ${1:var}=$( echo "$$1" | sed 's/^[[:space:]]*//g;s/[[:space:]]*$//g;' )
  196. snippet ltrim
  197. ${1:var}=$( echo "$$1" | sed 's/^[[:space:]]*//g;' )
  198.  
  199. snippet tern
  200. (( ${1:var} = ${2:var2}<${3:#expr}?${4:#expr}:${4:#expr} ))
  201. snippet dec
  202. (( ${1:var}-- ))
  203. snippet inc
  204. (( ${1:var}++ ))
  205. snippet assign integer assignment
  206. ${1:var}=$(( ${2:#expression} ))
  207. snippet assign default if not assigned
  208. ${1:var}=${$1:-${2:#default}}
  209. snippet len
  210. len$1=${#${1:var}}
  211. snippet split
  212. OLDIFS="$IFS"; IFS=$'${1:sep}'
  213. Array=( $(echo "$${2:data}" ) )
  214. IFS="$OLDIFS"
  215. snippet join
  216. DELIM=$'${1:sep}'
  217. ${2:new_line}=""
  218. for index in "${!${3:Array}[@]}"
  219. do
  220. $2+="${$3[$index]}${DELIM}"
  221. done
  222. # remove last delim
  223. $2="${$2%?}"
  224.  
  225. snippet repeat repeats and string or char n time
  226. line=$( jot -s "" -b ${1:string} ${2:times} )
  227. snippet step
  228. line="$( jot ${1:howmany} ${2:start} ${3:stop} ${4:step} )"
  229. # use -s " " to create a string
  230. snippet asc
  231. c=$( jot -c 1 ${1:number} )
  232. snippet chr
  233. n=$( jot 1 ${1:char} )
  234. snippet rand using jot
  235. rand=$( jot -r 1 ${1:lower} ${2:upper} )
  236. snippet rand using bash
  237. rand=$RANDOM
  238. snippet timesta
  239. START=$(date +%s.%N)
  240. snippet timefin
  241. END=$(date +%s.%N)
  242. DIFF=$(echo "$END - $START" | bc)
  243. echo $DIFF " seconds."
Add Comment
Please, Sign In to add comment