如何删除文件的第一行并保留更改?
我试过这个,但它删除了文件的全部内容。
$sed 1d file.txt > file.txt
Run Code Online (Sandbox Code Playgroud) 我有一个字符串:
one_two_three_four_five
Run Code Online (Sandbox Code Playgroud)
我需要从上面的字符串中保存一个变量A值two和变量B值four
我正在使用 ksh。
考虑以下代码:
foo () {
echo $*
}
bar () {
echo $@
}
foo 1 2 3 4
bar 1 2 3 4
Run Code Online (Sandbox Code Playgroud)
它输出:
1 2 3 4
1 2 3 4
我正在使用 Ksh88,但我也对其他常见的 shell 感兴趣。如果您碰巧知道特定 shell 的任何特殊性,请务必提及它们。
我在 Solaris 上的 Ksh 手册页中找到了以下内容:
$* 和 $@ 的含义在不引用或用作参数赋值或文件名时是相同的。然而,当用作命令参数时,$* 等价于 ``$1d$2d...'',其中 d 是 IFS 变量的第一个字符,而 $@ 等价于 $1 $2 ....
我尝试修改IFS变量,但它不会修改输出。也许我做错了什么?
我对使用单括号或双括号感到困惑。看看这段代码:
dir="/home/mazimi/VirtualBox VMs"
if [[ -d ${dir} ]]; then
echo "yep"
fi
Run Code Online (Sandbox Code Playgroud)
尽管字符串包含空格,但它工作得很好。但是当我将其更改为单括号时:
dir="/home/mazimi/VirtualBox VMs"
if [ -d ${dir} ]; then
echo "yep"
fi
Run Code Online (Sandbox Code Playgroud)
它说:
./script.sh: line 5: [: /home/mazimi/VirtualBox: binary operator expected
Run Code Online (Sandbox Code Playgroud)
当我将其更改为:
dir="/home/mazimi/VirtualBox VMs"
if [ -d "${dir}" ]; then
echo "yep"
fi
Run Code Online (Sandbox Code Playgroud)
它工作正常。有人可以解释发生了什么吗?什么时候应该在变量周围分配双引号,"${var}"以防止空格引起的问题?
有人可以提供几个关于如何使用的例子coproc吗?
如何使用 du 命令获取所有文件及其子目录中所有文件的大小。
我正在尝试使用以下命令来获取所有文件(以及子目录中的文件)的大小
find . -type f | du -a
但这也会打印出文件夹大小。如何获取子目录中所有文件和文件的大小列表?我也尝试过,exec flag但我不确定在执行findinto的结果后如何将输出通过管道传输到另一个命令中du。
操作系统是带有 ksh shell 的 AIX 6.1。
在 2013-01-10 Glenn Fowler 将此发布到ast-users 邮件列表:
正如在 AST 和 UWIN 列表中多次指出的那样,AT&T 对 OpenSouce 软件的支持很少,这就是为什么我们很少有人参与我们相当大的 AST 软件集合。尽管如此
ksh,nmake、vczip、UWIN和其他 AST 工具仍在几个 AT&T 项目中继续使用。事实证明,软件并不是唯一缺乏支持的东西:dgk (David Korn)(AT&T 研究员,服务 36 年)和 gsf (Glenn Fowler)(AT&T 研究员,服务 29 年)都已终止,10 月生效10. 我们的第三个主要合作伙伴 Phong Vo(AT&T 研究员,服务 32 年)几个月前离开了 Google。UWIN 维护者 Jeff Fellin 仍在 AT&T 工作,并为一些关键操作提供 UWIN 支持。
dgk 和 gsf 都将继续在 AST 软件上工作,并且实际上可能有更多的时间(至少在短期内)专注于它。
下载站点和邮件组将至少在接下来的几个月内保留在 AT&T 中。我们的 AT&T 同事 dr.ek,AST 用户和错误检测器,将维护该站点。我们已经保护了 astopen.org 域,并且正在研究非 AT&T 托管选项,包括带有错误跟踪功能的存储库。
改变的过程需要时间;用户社区的耐心将不胜感激。在一个基本上稳定了近 30 年的环境中工作后,有 …
我了解什么是大括号扩展,但我不知道如何最好地使用它。
你什么时候使用它?
如果你有自己的小窍门,请教我一些方便和出色的例子。
如何导出带有点的变量。当我尝试时,我得到“无效的变量名”:
export my.home=/tmp/someDir
-ksh: my.home=/tmp/someDir: invalid variable name
Run Code Online (Sandbox Code Playgroud)
即使转义元字符点 (.) 也无济于事
$ export my\.home=/tmp/someDir
export: my.home=/tmp/someDir: is not an identifier
Run Code Online (Sandbox Code Playgroud) 我想有条件地格式化 Unix 文件,我目前正在处理diff命令,想知道是否可以格式化diff命令输出的文本。
例子:
匹配的值应显示为绿色。
不匹配的值应显示为红色。
假设我有两个文件file1和file2我的命令diff file1 file2。
现在我希望假设输出包含 5 个不匹配,那么这些不匹配应该以红色显示。如何使用unix实现这一目标?
简而言之,“对于不匹配的值,将 diff 命令的输出颜色更改为红色”