Linux常用操作----未完

Linux常用操作

修改jupyter启动目录

cd \
E:
cd E:\my_jupyter_path\jupyter_workspace
jupyter notebook
pause

遍历两个日期

### 方法1 : while循环
start=$(date -d "${1}" +%F)
end=$(date -d "${2}" +%F)
while ${start}!=${end}
do
	start=`date -d "+1 day ${start}" +%F`
	echo ${start}
done
### notice : %F可以修改成自己想传入的格式
### 例如 : 想要输入20210101 将 %F 改成 %Y%m%d 即可 , 以下同理

### 方法2 : for循环
THIS_PATH=$(cd `dirname $0`;)
cd $THIS_PATH
##要求传入的数据格式为yyyyMMdd的两个开始和结束参数,如20170201 20170310
start_input=$1
end_input=$2
## 若想修改传入的格式可以写成一下情况
###
# start_input=`date -d "${1}" +%F`
# end_input=`date -d "${2}" +%F`
# %F == %Y-%m-%d
# %F还可替换成想要传入的格式
###

##将输入的日期转为的时间戳格式
startDate=`date -d "${start_input}" +%s`
endDate=`date -d "${end_input}" +%s`

##计算两个时间戳的差值除于每天86400s即为天数差
stampDiff=`expr $endDate - $startDate`
dayDiff=`expr $stampDiff / 86400`

##根据天数差循环输出日期
for((i=0;i<$dayDiff;i++))
do
    process_date=`date -d "${start_input} $i day" +'%Y-%m-%d'`
    echo $process_date
done

外部删除文件具体行操作

sed -i '1d' file
sed -i '1,2d' file ## 删除1,2行
sed -i '2,$d' file ## 删除第2行到最后一行

1、利用vi删除不包含有某字符xxx的行(具体可以man ed参考)
:v/xxx/d

2、利用vi删除包含有某字符xxx的行(具体可以man ed参考)
:g/xxx/d

2、利用sed删除包含某字符xxx的行
sed -i -e '/string/d' filename  / sed -i '/关键字符/d' 文件名

压缩、解压操作

#1. 压缩
tar -zcvf file.tar.gz file/
#2. 解压
tar -zxvf file.tar.gz

删除指定程序运行命令

ps -ef | grep python3 | cut -c 9-15|xargs kill -s 9

查看文件情况

ls -lR| grep "^-" | wc -l # 统计当前目录下文件的个数(包括子目录)
ls -l | grep "^-" | wc -l # 统计当前目录下文件的个数(不包括目录)
ls -lR | grep "^d" | wc -l # 查看某目录下文件夹(目录)的个数(包括子目录)



################################
命令解析:
ls -l
长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录,ls -lR是列出所有文件,包括子目录。
grep "^-"
过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"wc -l
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数。

grep操作

## -v 代表除 "-v" 之后的关键词
egrep "on_buy|on_sell" .vntrader/log/knife/vt_20191122.log | grep -v 688166
### or
grep -E "on_buy|on_sell" .vntrader/log/knife/vt_20191122.log | grep -v 688166

## 一个">"表示写入 , 会覆盖 ; 两个">>"表示追加 , 不会覆盖
grep -E "trigger|on_buy|on_sell" qt_20191126.log > vt26.log
grep -E "trigger|on_buy|on_sell" qt_20191126.log >> vt26.log

cat操作

cat 文件名 | grep "关键字" > 写入另一文件
cat vt_2019_11_05.log | grep "[x]" > vt_1105.log	

awk操作

#1. 将文件中第2,3,31行数据提取出来并且写入到另一文件中
awk -F',' '{print $1,$2,$30}' OFS=',' predict_result >predict_result_3
# -F是原始指定分隔符 , OFS是写入的时候指定分隔符

awk解析

$ awk -F":" '{ print $1 }' /etc/passwd
$ awk -F":" '{ print $1 $3 }' /etc/passwd
$ awk -F":" '{ print $1 " " $3 }' /etc/passwd
$ awk -F":" '{ print "username: " $1 "\t\tuid:" $3" }' /etc/passwd
################
-F参数:指定分隔符,可指定一个或多个
print 后面做字符串的拼接
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值