Black-Gold 6 years ago
parent b5aba20552
commit c2a498e069

@ -0,0 +1,85 @@
# GooleTricks
```google
"" 双引号
- 排除字符
好: baidu.com 使用冒号搜索特定的网站
am*zing 使用星号通配符
related:amazon.com 找到与其他网站类似的网站
Black or red 合并搜索
filetype:pdf 找到特定文件
site:www.so.com 在360搜索引擎中寻找
allintitle: allinurl:
@twitter 搜索社交媒体
info: 获取有关网站的详细信息
cache: 查看Google的网站缓存版本
google.com/history 搜索历史
AND返回查询两端的结果。例growth hacks AND youtube
NOT返回除NOT之后的所有结果。例monty python NOT bbc
使用~搜索词的同义词
使用in的翻译和转换
process management inurl:forum|forums|discussion|viewthread|showthread|viewtopic|showtopic 论坛
google.com/ncr。NCR代表无国家/地区重定向
process automation filetype:pdf
搜索ftp
inurl:ftp:// -inurl:http:// -inurl:https://
-inurl(html|htm|php) intitle:”index of” +”last modified” +”parent directory” +description +size
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wmv|avi)
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(jpg|gif)
-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(wma|mp3)
[-inurl:(htm|html|php) intitle:” index of” +” last modified” +” parent directory” +description +size +(jpg|gif) “britney spears”]
```
| Function | Execution |
| :------: | :------: |
| To search for an exact phrase, with the same words in the same order | Place quotation marks (“) around the phrase youd like to search for Ex: “to be, or not to be” |
| To exclude results that include a particular word or site when searching words with multiple meanings | Place a dash (-) before the word or site you want to omit Ex: phoenix -arizona |
| To search for Google+ pages or blood types | Place an addition sign (+) in front of the Google+ user or after the blood type Ex: +Chrome and AB+ |
| To search for social tags | Place the at symbol (@) before the social tag youd like to search Ex: @digitaltrends |
| To search for prices | Place a dollar sign ($) before the value Ex: canon $400 |
| To search for a phrase with missing words | Place an asterisk (*) within the search as a placeholder for any unknown terms Ex: if you give a * a * |
| To search for a range of numbers, usually pertaining to prices and measurements | Place two periods between the designated numbers you want to search between Ex: $75..$200 |
| To search popular hashtags for trending topics | Place a hashtag in front of the desired topicEx: #throwbackthursday |
| Function | Execution |
| :------: | :------: |
| To search for results from certain sites and domains | Place “site:” in front of the site or domain from which you want to pull results Ex: apple watch site:digitaltrends.com |
| To search for pages that link to a certain page | Place “link:” in front of the site or domain you want to find pages linking to Ex: link:digitaltrends.com |
| To search for sites that are similar to a designated site or domain | Place “related:” in front of the site or domain you want to find similar results of Ex: related:digitaltrends.com |
| To search for pages that just have one of several words | Place “OR” between the two words you are searching for Ex: world series 2013 OR 2014 |
| To search for designated information about a specific site or domain, including cached pages, and those linking to the site | Place “info:” in front of the site or domain you want information about Ex: info:digitaltrends.com |
| To search what a page looked like the last time Google crawled the site | Place “cache:” in front of the page housing the cache youd like to view Ex: cache:digitaltrends.com |
| To search for a specific file type | Place “filetype:” in front of the specific file type youre looking for Ex: matthew mcconaughey filetype:gif |
| Function | Execution |
| :------: | :------: |
| To search Google using voice commands | Click the microphone icon in the search bar and begin talking |
| To search Google for a specific image | Click the camera icon in the search bar and paste the image URL |
| To set a timer | Enter “set timer for” followed by the desired amount of time |
| To check the weather for a specific area | Enter “weather” followed by a zipcode or city |
| To search for the sunrise and sunset times for a specific area | Enter “sunrise” or “sunset” followed by a zipcode or city |
| To look up the definition for a given word | Enter “define” followed by your desired term |
| To look up the origins for a given word | Enter “etymology” followed by your desired word |
| To look up the time for a specific region | Enter “time” followed by the particular region |
| To look up your IP address | Enter “ip address” in the search bar |
| To check the status of a flight | Enter the flight number in the search bar |
| To look up stock quotes | Enter the desired stock symbol in the search bar |
| To look up the date for a specific holiday | Enter the name of the holiday in the search bar |
| To track a package | Enter the tracking number in the search bar |
| To use the calculator | Enter the equation in the search bar |
| To define a word | Enter “define” followed by your desired word |
| To convert currency or measurements | Enter the first amount and unit, type “to”, and then enter the second unit |
| To look up film showings | Enter “movies” followed by your zipcode or city |
| To look up sports scores | Enter the sports team in the search bar |
| To look up nutritional facts about an item, or compare nutritional facts | Enter the name of the product, or enter “compare” followed by the items you want to compare |
| To look up a celebritys Bacon Number | Enter “bacon number” followed by the name of the celebrity |
| To roll a six-sided die | Enter [roll a dice] in the search bar |

@ -1,4 +1,4 @@
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
# -*- coding: utf-8 -*-

@ -1,5 +1,18 @@
#!/bin/bash
# ??????
DiskSpace=`df -h | awk '{print $5}' | grep % | sort -n | tail -1 | grep -v ?? | cut -d "%" -f 1`
--unity-launch --user-data-dir=/root/.config/Code/ --extensions-dir=/root/公共的/extensions/ -r %F
case $DiskSpace in
[1-6]*)
Message="nothing";;
[7-8]*)
Message="Start thinking about cleaning out some stuff. There's a partition that is $space % full.";;
9[1-8])
Message="Better hurry with that new disk... One partition is $space % full.";;
99)
Message="I'm drowning here! There's a partition at $space %!";;
*)
Message="I seem to be running with an nonexistent amount of disk space...";;
esac
--no-sandbox --incognito --disable-infobars
echo $Message

@ -0,0 +1,25 @@
#!/bin/bash
LeapYear=`date +%Y`
# 方法一
# if [ $[$LeapYear % 400 ] -eq 0 ] ; then
# echo "闰年"
# elif [ $[$LeapYear % 4 ] -eq 0 ] ; then
# if [ $[$LeapYear % 100 ] -ne 0 ] ; then
# echo "闰年"
# else
# echo "不是闰年"
# fi
# else
# echo "不是闰年"
# fi
# 方法二,利用布尔运算实现
if (( ("$LeapYear" % 400) == "0" )) || (( ("$LeapYear" % 4 == 0) && ("$LeapYear" % 100 != "0") )) ; then
echo "闰年"
else
echo "不是闰年"
fi
# 这相当于let语句。如果你尝试类似$ [$ year400]的东西,你会在这里使用方括号卡住,因为在这里,方括号本身并不代表实际的命令。

@ -1,34 +1,24 @@
# awk
===
## 说明
文本和数据进行处理的编程语言
**awk** awk的基本功能是在文件中搜索包含一个或多个模式的行或其他文本单元。当一行与其中一个模式匹配时将对该行执行特殊操作。 awk中的程序与大多数其他语言中的程序不同因为awk程序是“数据驱动的”您描述要使用的数据然后在找到时执行的操作。大多数其他语言都是“程序性的”。您必须详细描述该计划要采取的每个步骤。使用过程语言时通常很难清楚地描述程序将处理的数据。出于这个原因awk程序通常易于读写。
## 补充说明
**awk** 是一种编程语言用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能是linux/unix下的一个强大编程工具。它在命令行中使用但更多是作为脚本来使用。awk有很多内建的功能比如数组、函数等这是它和C语言的相同之处灵活性是awk最大的优势。
## awk命令格式和选项
### 语法形式
## 语法形式
```sh
awk [options] 'script' var=value file(s)
awk [options] -f scriptfile var=value file(s)
```
### 常用命令选项
## 常用命令选项
***-F fs   *** fs指定输入分隔符fs可以是字符串或正则表达式如-F:
***-v var=value   *** 赋值一个用户定义变量将外部变量传递给awk
***-f scripfile  *** 从脚本文件中读取awk命令
***-m[fr] val   *** 对val值设置内在限制-mf选项限制分配给val的最大块数目-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能在标准awk中不适用。
## awk模式和操作
awk脚本是由模式和操作组成的。
### 模式
## 模式
模式可以是以下任意一个:
@ -37,7 +27,7 @@ awk脚本是由模式和操作组成的。
* 模式匹配表达式:用运算符`~`(匹配)和`~!`(不匹配)。
* BEGIN语句块、pattern语句块、END语句块参见awk的工作原理
### 操作
## 操作
操作由一个或多个命令、函数、表达式组成,之间由换行符或分号隔开,并位于大括号内,主要部分是:
@ -59,7 +49,7 @@ awk 'BEGIN{ i=0 } { i++ } END{ print i }' filename
awk "BEGIN{ i=0 } { i++ } END{ print i }" filename
```
### awk的工作原理
## awk的工作原理
```sh
awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
@ -75,7 +65,7 @@ awk 'BEGIN{ commands } pattern{ commands } END{ commands }'
**pattern语句块** 中的通用命令是最重要的部分它也是可选的。如果没有提供pattern语句块则默认执行`{ print }`即打印每一个读取到的行awk读取的每一行都会执行该语句块。
### 示例
## 示例
```sh
echo -e "A line 1nA line 2" | awk 'BEGIN{ print "Start" } { print } END{ print "End" }'
@ -104,6 +94,7 @@ v1=v2=v3
## awk内置变量预定义变量
说明:[A][N][P][G]表示第一个支持变量的工具,[A]=awk、[N]=nawk、[P]=POSIXawk、[G]=gawk
可自定义变量变量可以是字符串或数值。输入字段的内容也可以分配给变量。为了更精确地控制输出格式而不是打印通常提供的输出格式请使用printf。 printf命令可用于指定每个项目使用的字段宽度以及数字的各种格式选择例如要使用的输出基数是否打印指数是否打印标记以及数字位数在小数点后打印。这是通过提供一个名为格式字符串的字符串来完成的该字符串控制打印其他参数的方式和位置。
```sh
** $n**当前记录的第n个字段比如n为1表示第一个字段n为2表示第二个字段。
@ -117,13 +108,13 @@ v1=v2=v3
[G]**FIELDWIDTHS**字段宽度列表(用空格键分隔)。
[A]**FILENAME**当前输入文件的名。
[P]**FNR**同NR但相对于当前文件。
[A]**FS**字段分隔符(默认是任何空格)。
[A]**FS(fields separator)**字段分隔符(此变量预定义为一个或多个空格或制表符)。
[G]**IGNORECASE**如果为真,则进行忽略大小写的匹配。
[A]**NF**表示字段数,在执行过程中对应于当前的字段数。
[A]**NR**表示记录数,在执行过程中对应于当前的行号。
[A]**NR(number of records)**表示记录数,在执行过程中对应于当前的行号。
[A]**OFMT**数字的输出格式(默认值是%.6g)。
[A]**OFS**输出字段分隔符(默认值是一个空格)。
[A]**ORS**输出记录分隔符(默认值是一个换行符)。
[A]**OFS(output fields separator)**输出字段分隔符(默认值是一个空格)。
[A]**ORS(output record separator)**输出记录分隔符(默认值是一个换行符)。
[A]**RS**记录分隔符(默认是一个换行符)。
[N]**RSTART**由match函数所匹配的字符串的第一个位置。
[N]**RLENGTH**由match函数所匹配的字符串的长度。
@ -272,7 +263,7 @@ netstat -antup | grep 7770 | awk '{ print $NF NR}' | awk '{ print $1}'
作为一种程序设计语言所应具有的特点之一awk支持多种运算这些运算与C语言提供的基本相同。awk还提供了一系列内置的运算函数如log、sqr、cos、sin等和一些用于对字符串进行操作运算的函数如length、substr等等。这些函数的引用大大的提高了awk的运算功能。作为对条件转移指令的一部分关系判断是每种程序设计语言都具备的功能awk也不例外awk中允许进行多种测试作为样式匹配还提供了模式匹配表达式~(匹配)和~!不匹配。作为对测试的一种扩充awk也支持用逻辑运算符。
### 算术运算符
## 算术运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -291,7 +282,7 @@ awk 'BEGIN{a="b";print a++,++a;}'
注意所有用作算术运算符进行操作操作数自动转为数值所有非数值都变为0
### 赋值运算符
## 赋值运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -303,7 +294,7 @@ awk 'BEGIN{a="b";print a++,++a;}'
a+=5; 等价于a=a+5; 其它同类
```
### 逻辑运算符
## 逻辑运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -317,7 +308,7 @@ awk 'BEGIN{a=1;b=2;print (a>5 && b<=2),(a>5 || b<=2);}'
0 1
```
### 正则运算符
## 正则运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -330,7 +321,7 @@ awk 'BEGIN{a="100testa";if(a ~ /^100*/){print "ok";}}'
ok
```
### 关系运算符
## 关系运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -345,7 +336,7 @@ ok
注意:> < 可以作为字符串比较也可以用作数值比较关键看操作数如果是字符串就会转换为字符串比较。两个都为数字才转为数值比较。字符串比较按照ASCII码顺序比较。
### 其它运算符
## 其它运算符
| 运算符 | 描述 |
| ----- | ---- |
@ -371,14 +362,14 @@ awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'
1
```
### 运算级优先级表
## 运算级优先级表
!级别越高越优先
级别越高越优先
## awk高级输入输出
### 读取下一条记录
## 读取下一条记录
awk中`next`语句使用在循环逐行匹配如果遇到next就会跳过当前行直接忽略下面语句。而进行下一行匹配。next语句一般用于多行合并
@ -422,7 +413,7 @@ web03[192.168.2.102]: mysqldok
web03[192.168.2.102]: httpd ok
```
### 简单地读取一条记录
## 简单地读取一条记录
`awk getline`用法:输出重定向需用到`getline函数`。getline从标准输入、管道或者当前正在处理的文件之外的其他输入文件获得输入。它负责从输入获得下一行的内容并给NF,NR和FNR等内建变量赋值。如果得到一条记录getline函数返回1如果到达文件的末尾就返回0如果出现错误例如打开文件失败就返回-1。
@ -453,7 +444,7 @@ awk 'BEGIN{ "date" | getline out; split(out,mon); print mon[2] }' test
awk 'BEGIN{ while( "ls" | getline) print }'
```
### 关闭文件
## 关闭文件
awk中允许在程序中关闭一个输入或输出文件方法是使用awk的close语句。
@ -463,7 +454,7 @@ close("filename")
filename可以是getline打开的文件也可以是stdin包含文件名的变量或者getline使用的确切命令。或一个输出文件可以是stdout包含文件名的变量或使用管道的确切命令。
### 输出到一个文件
## 输出到一个文件
awk中允许用如下方式将结果输出到一个文件
@ -489,7 +480,7 @@ awk 'BEGIN{ FS=":" } { print $NF }' /etc/passwd
在linux awk的while、do-while和for语句中允许使用break,continue语句来控制流程走向也允许使用exit这样的语句来退出。break中断当前正在执行的循环并跳到循环外执行下一条语句。if 是流程选择用法。awk中流程控制语句语法结构与c语言类型。有了这些语句其实很多shell程序都可以交给awk而且性能是非常快的。下面是各个语句用法。
### 条件判断语句
## 条件判断语句
```sh
if(表达式)
@ -530,9 +521,9 @@ very good
每条命令语句后面可以用`;`** 分号** 结尾。
### 循环语句
## 循环语句
#### while语句
### while语句
```sh
while(表达式)
@ -554,7 +545,7 @@ print total;
5050
```
#### for循环
### for循环
for循环有两种格式
@ -606,7 +597,7 @@ print total;
5050
```
#### do循环
### do循环
```sh
do
@ -625,7 +616,7 @@ print total;
5050
```
### 其他语句
## 其他语句
***break**当 break 语句用于 while 或 for 语句时,导致退出程序循环。
***continue**当 continue 语句用于 while 或 for 语句时,使程序循环移动到下一个迭代。
@ -636,7 +627,7 @@ print total;
数组是awk的灵魂处理文本中最不能少的就是它的数组处理。因为数组索引下标可以是数字和字符串在awk中数组叫做关联数组(associative arrays)。awk 中的数组不必提前声明也不必声明大小。数组元素用0或空字符串来初始化这根据上下文而定。
### 数组的定义
## 数组的定义
数字做数组索引(下标):
@ -662,7 +653,7 @@ Array["birth"]="1987"
{ for(i=1;i<=len;i++) {print array[i]}; } #Len是数组的长度
```
### 数组相关函数
## 数组相关函数
** 得到数组长度:**
@ -732,7 +723,7 @@ b b1
`delete array[key]`可以删除,对应数组`key`的,序列值。
### 二维、多维数组使用
## 二维、多维数组使用
awk的多维数组在本质上是一维数组更确切一点awk在存储上并不支持多维数组。awk提供了逻辑上模拟二维数组的访问方式。例如`array[2,4]=1`这样的访问是允许的。awk使用一个特殊的字符串`SUBSEP(<28>34)`作为分割字段在上面的例子中关联数组array存储的键值实际上是2<E698AF>344。
@ -780,7 +771,7 @@ split(m,tarr2,SUBSEP); print tarr2[1],"*",tarr2[2],"=",tarr[m];
awk内置函数主要分以下3种类似算数函数、字符串函数、其它一般函数、时间函数。
### 算术函数
## 算术函数
| 格式 | 描述 |
| ---- | ---- |
@ -815,7 +806,7 @@ awk 'BEGIN{srand();fr=int(100*rand());print fr;}'
41
```
### 字符串函数
## 字符串函数
| 格式 | 描述 |
| ---- | ---- |
@ -899,7 +890,7 @@ awk 'BEGIN{n1=124.113;n2=-1.224;n3=1.2345; printf("%.2f,%.2u,%.2g,%X,%on",n1,n2,
124.11,18446744073709551615,1.2,7C,174
```
### 一般函数
## 一般函数
| 格式 | 描述|
| ---- | ---- |
@ -945,7 +936,7 @@ drwxr-xr-x 95 root root 4096 10-08 14:01 ..
b返回值是执行结果。
### 时间函数
## 时间函数
| 格式 | 描述|
| ---- | ---- |
@ -1001,7 +992,7 @@ awk 'BEGIN{tstamp1=mktime("2001 01 01 12 12 12");tstamp2=systime();print tstamp2
| %Y | 当前月份 |
| %% | 百分号(%) |
### 文件间隔
## 文件间隔
```sh
#双空间文件
@ -1018,7 +1009,7 @@ awk'NF {print $ 0“\ n”}'
awk'1; {print“\ n”}'
```
### 编号和计算:
## 编号和计算:
#在每行的前面加上行号为该文件(左对齐)。
#使用选项卡(\ t而不是空格将保留页边距。
@ -1085,7 +1076,7 @@ gawk --re-interval'BEGIN {whilea ++ <49s = s“”}; {sub/ ^。{6} /
```sh
### 阵列创作
## 阵列创作
```sh
@ -1102,7 +1093,7 @@ fori = 1; i <= 12; i ++mdigit [month [i]] = i
```
### 文本转换和替换:
## 文本转换和替换:
```sh
@ -1184,7 +1175,7 @@ awk'ORS = NR5“\ n”'文件
```
### 选择性印刷某些线条
## 选择性印刷某些线条
```sh
@ -1255,7 +1246,7 @@ awk'/爱荷华州//蒙大拿州/'#区分大小写
```
### 选择性删除某些行
## 选择性删除某些行
```sh
@ -1275,7 +1266,7 @@ awk '!($0 in array) { array[$0]; print }' temp
```
### 统计apache日志单ip访问请求数排名常用解答方法10多种
## 统计apache日志单ip访问请求数排名常用解答方法10多种
```sh
@ -1291,7 +1282,7 @@ sed's/- -.*$//g' access.log|sort|uniq -c|sort -rn -k1
```
### 打印行号和内容:
## 打印行号和内容:
```sh

@ -0,0 +1,18 @@
#!/bin/bash
# 测试硬盘空间
DiskSpace=`df -h | awk '{print $5}' | grep % | sort -n | tail -1 | grep -v 已用 | cut -d "%" -f 1`
case $DiskSpace in
[1-6]*)
Message="nothing";;
[7-8]*)
Message="Start thinking about cleaning out some stuff. There's a partition that is $space % full.";;
9[1-8])
Message="Better hurry with that new disk... One partition is $space % full.";;
99)
Message="I'm drowning here! There's a partition at $space %!";;
*)
Message="I seem to be running with an nonexistent amount of disk space...";;
esac
echo $Message
Loading…
Cancel
Save