shell Increment!:csh别名中的1个值

2w2cym1i  于 12个月前  发布在  Shell
关注(0)|答案(1)|浏览(107)

我正在尝试创建一个快捷方式来查找cshell终端中某个位置的第n个最近更新的文件夹。现在我有一个找到最新的一个。

alias latest    'cd `ls -dt1 -- */ | head -1`'

我期待添加一个参数,以便它可以计算第n个最近的文件夹,如

alias latestn 'cd `ls -dt1 -- */ | head -[expr !:1 + 1] | tail 1`'

我试着在网站上搜索,但我找不到一个对输入参数进行数学运算的例子。

lyfkaqu1

lyfkaqu11#

你不需要对输入参数进行数学运算。通过这样做:

alias latestn 'cd `ls -dt1 -- */ | tail -n+\!:1 | head -1`'

命令latestn 1将转到最新的目录(第一个最近的目录),latestn 2将转到第二个最近的目录,依此类推。
这是因为tail -n+x正在从x开始检索行,而head -1正在获取第一行:因此,链接两者等同于获得第x行。

相关问题