相关:如何获取当前终端名称?
但我只想要当前终端的 ID,例如,当tty
返回时/dev/pts/11
我只想打印11
。
我们的想法是在 shell 提示符中在我的文件中的变量\u
中的用户名后面添加此信息:PS1
.bashrc
想要的结果:username11@localhost:~$
目前我有:
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u$(tty)@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
Run Code Online (Sandbox Code Playgroud)
这使:username/dev/pts/11@localhost:~$
我想find
对一些嵌套的 csv 文件的结果运行两个管道命令,但我很惨地失败了。
这是一个想法:
$ find ./tmp/*/ -name '*.csv' -exec tail -n +2 {} | wc -l \;
Run Code Online (Sandbox Code Playgroud)
为了不计算每个 CSV 文件的标题行。
该命令失败:
wc: ';': No such file or directory
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)
for
在这种情况下我真的需要做一个循环吗?
例如:
wc: ';': No such file or directory
find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)
但是这样我就失去了很好的输出,find
其中确实包括计数中的文件名。
使用此解决方案时,我也丢失了文件名:find -exec 中的管道命令?
$ for f in ./tmp/*/*.csv; do tail -n +2 ${f} | wc -l; done
Run Code Online (Sandbox Code Playgroud)
一点精度;当我谈到打印的文件名时,这是因为我在单个文件上调用命令时习惯了以下结果:
$ tail -n +2 | …
Run Code Online (Sandbox Code Playgroud) 使用sed
或awk
,是否可以直观地对齐 CSV 文件中的列?
例如:
例如来自:
a,b,c,some stuff,"some, other, stuff",d,2023-03-10 18:37:00
y,x,z,t,cool,thing,2022-04-12 21:44:00
Run Code Online (Sandbox Code Playgroud)
到:
a, b, c, some stuff,"some, other, stuff", d, 2023-03-10 18:37:00<EOL>
x, y, z, t, cool, thing, 2022-04-12 21:44:00<EOL>
Run Code Online (Sandbox Code Playgroud)
有一些包含文本并带有逗号的双引号字段。
我尝试column
过bsdmainutils
,但它显然无法处理此类数据。
我在我的Ubuntu 22.04笔记本电脑上编译了一个C++软件,并用于checkinstall
安装它。这会构建相应的.deb
文件,这很好。
但现在我想将该.deb
文件安装到基于“Debian GNU/Linux 11 (bullseye)”的 docker 容器中,并dpkg
显示此错误:
# dpkg --install mypackage-8.0.0_20221030-1_amd64.deb
dpkg-deb: error: archive 'mypackage-8.0.0_20221030-1_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive mypackage-8.0.0_20221030-1_amd64.deb (--install):
dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
mypackage-8.0.0_20221030-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)
如何将此.deb
文件安装到我的容器中,而无需再次编译软件(这意味着将所有 C++ 构建工具安装到我的容器中,这是我想避免的......)?