暗黑的shell修改文件操作

几个命令: cut, sed, awk

cut

echo [str] | cut -d [sep] -f [num] #使用分割符[sep]切分字符串[str]并返回第[num]段(从1编号) 

sed

sed -e '[desc] [str]' [file] #对文件[file]按照"[desc] [str]"进行修改,并将修改内容输出,原文件保持不变

其中 [desc] 部分格式为 [line][op],或 [start line],[end line][op],对 第[line] 行,或者 [start line][end line] 之间所有行进行 [op] 操作
其中行编号1-based,行区间为闭区间
[op] 可以为以下操作:

  • a : 新增行
  • d : 删除行
  • c : 替换(用 [str] 替换选中所有行)
  • d : 删除(一般没有 [str] 部分)
  • i : 插入
  • s : 替换("[start line],[end line]s/[old pattern]/[new pattern]/"

全局替换: s/[old pattern]/[new pattern]/g

sed -n: (--silent) 只显示处理后的结果

example

cat [file] | sed -n '5,7p' #显示文件5到7行
cat [file] | sed  '/oo/d' #删除所有包含"oo"的行,其他行输出

awk

主机 IP

WSL 2 中虚拟机不再和主机共享网络配置,而是和主机在同一子网中
WSL 2 中获取主机 IP 可通过以下方式:

export DNS= `ip route list default | awk '{print $3}'  ` 

export DNS= `cat /etc/resolv.conf | tail -1 | cut -d ' ' -f 2` 

X11 forwarding

X11 forwarding 可以做一些好玩的事情,最简单的是 xclock 显示时钟和 xcalc 图形计算器

在之前的电脑用的是 MobaXterm 里自带的 cygwin 的 X11 forwarding 功能,在 MobaXterm 里开一个 cygwin 窗口,在 WSL 里直接 export DISPLAY=$DNS:0

新电脑想尝试一下不用 MobaXterm 的解决方案:首先装一个 win 端的 X11 服务器 VcXrv。装好后打开 XLaunch,注意打开 disable access control。 WSL 端还是 export DISPLAY=$DNS:0,即可开启X11

通过 ssh -X 将本地端口转发到远程

一些奇妙X11应用:
https://cyber.dabamos.de/unix/x11/

嵌入视频

niconico :

<iframe width="312" height="176" src='http://embed.nicovideo.jp/watch/sm34871494?persistence=1&oldScript=1&referer=&from=0&allowProgrammaticFullScreen=1'  frameborder="0"></iframe>                

bilibili :

<iframe allowFullScreen={true} width="100%" height="450" scrolling="no"
sandbox="allow-top-navigation allow-same-origin allow-forms allow-scripts"
src={`//player.bilibili.com/player.html?aid=541205956&bvid=BV1tA411q7xi&cid=208099724&page=1&as_wide=1&high_quality=1&danmaku=1`}
frameBorder="0"></iframe>

youtube :

<iframe width="1038" height="584" src="https://www.youtube.com/embed/GBS07vBBWlA" title="和楽器バンド / ロキ from 8th Anniversary Japan Tour ∞ -Infinity-" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

之前就听说实验室可以给新生配台电脑,最近感觉手里用了三年半的拯救者Y7000P大限将至:初步感觉是机械硬盘或者固态上了年头,打算直接搞一台新电脑
甘Sir说买电脑的额度是2w左右,大喜过望得搞了一台1.8w 的 2022拯救者Y9000K,做了一把冤大头

个人比较喜欢拯救者工业化和商务的风格,以及内部的细节做工。之前拆Y7000P的时候就对内存屏蔽罩和散热布局好感拉满,对比我之前的暗影精灵4属实差别很大。暗影精灵4因为我之前拆机时候的静电搞坏了一个内存槽。然后电池还因为bios的问题鼓包过。导致我从此就成了惠普黑。

Y9000K 比隔壁同配置的枪神6贵了1k,不过枪神6过于电竞风格所以不太感冒

值得一提的是联想近几年在流氓软件的道路上越走越远,预装了一个辣鸡联想浏览器以及软件管家之类的流氓产品,电脑管家和傻逼百度串通改edge主页

CPU 是 i7-12800HX, 2.3GHz
12代 intel alder lake 架构
32GB内存,自带硬盘 1TB
后来自己加了一条 1TB 的 samsung 980 PRO

硬盘的 S.M.A.R.T. 数据显示电脑在买回来的时候通电时间就有一百多个小时,unsafe shutdowns 20次
作为对比,新买的 980 PRO 通电时间4小时,unsafe shutdowns 0次
emmm,不知道之前被用来干啥了。。。

用 samsung magican 跑了一发自带硬盘 benchmark :

对比一下 980 PRO 的 benchmark 结果:

emmmm,随机读写差了将近三倍。。。
搞得我都想把 980 PRO 弄成系统盘了
想想还是不折腾了

Graphcore : IPU (intelligence processing unit)

Poplar SDK : 支持 tensorflow, pytorch, ONNX(open neural network exchange)

PopART : poplar advanced runtime,包含 python 和 C++ api

poplar library : 包括 poplar graph library 和 Poplibs 的系列 C++ library

PopLibs : open source library , 提供 high level function

PopRun : 在多个 IPU 上运行应用,使用 PopDist API 实现

PopVision : 性能可视化

Poplar graph 每个节点运行一个 codelet,直接在 IPU 的并行核上执行代码