pwd | awk -F/ '{print $NF-1}' 这个命令为什么输出-1
时间: 2024-04-12 11:27:27 浏览: 28
这个命令的作用是获取当前工作目录,并通过管道将其传递给 awk 命令进行处理。在 awk 命令中,-F/ 指定了分隔符为斜杠 (/),然后通过打印 $NF-1,输出路径中倒数第二个斜杠后的内容。
然而,输出结果为 -1 是因为在这个命令中使用了数学运算符,awk 尝试将字符串转换为数字进行计算。由于 $NF 是字符串类型,它表示最后一个字段,而不是一个数字。当尝试将字符串类型的字段减去 1 时,awk 会将其转换为数字类型,但字符串无法转换为有效的数字,因此结果为 -1。
如果你想要输出倒数第二个斜杠后的内容,可以简化命令为:
```bash
basename "$(dirname "$(pwd)")"
```
这个命令使用了 dirname 和 basename 命令来获取当前工作目录的上级目录,并输出上级目录的名称。这样就可以避免 awk 命令中的数值计算问题。
相关问题
$(ls -lt ${pwd}/ | awk '/^-/ {print $NF}') 是什么意思?awk后面去掉是什么意思
这是一个 Linux 命令,它的作用是列出当前目录下所有的文件和子目录,并按照最后修改时间的先后顺序进行排序。具体解释如下:
- `ls` 是列出目录内容的命令。
- `-lt` 是 `ls` 命令的两个选项,表示按照修改时间的先后顺序进行排序,并以长格式输出文件信息。
- `${pwd}/` 表示当前目录。
- `|` 是管道符,用于将 `ls` 命令的输出传递给下一个命令。
- `awk` 是一个文本处理工具,用于对文本进行格式化处理。
- `'/^-/ {print $NF}'` 是 `awk` 命令的一个模式,表示只选择以 `-` 开头的行,然后输出该行的最后一个字段,即文件名。
如果去掉 `awk` 命令,则只会输出当前目录下的所有文件和子目录,不会进行排序。
rsync -a --include '*/' --exclude '*' $dataDir/ 1_rawdata/ wkdir=$(pwd) cd $dataDir/ find -type d -name "split" | sed 's/\.\///' | xargs -i sh -c "ln -s {}/* $wkdir/1_rawdata/{}" find -type d -name "split" | sed 's/\.\///' | sed "s/split$//" |xargs -i sh -c "ln -s {}/*\.* $wkdir/1_rawdata/{}"
这段代码是用于将指定目录下的文件和文件夹同步到目标目录中。具体解释如下:
第一行命令使用rsync工具将$dataDir目录下的所有内容(包括子目录)同步到1_rawdata目录中。其中-a选项表示使用归档模式进行同步,--include '*/' 表示只包括子目录,--exclude '*' 表示排除所有文件。
第二行命令获取当前工作目录,并切换到$dataDir目录。
第三行命令使用find命令查找所有名为"split"的子目录,并使用sed命令去除路径前的"./",然后使用xargs命令对每个找到的子目录执行一次ln命令,将其内容创建为符号链接到1_rawdata目录中对应的子目录。
第四行命令与第三行类似,但是通过sed命令将"split"字符串替换为空字符串,即去除子目录名中的"split"后再创建符号链接。这样可以将split子目录中的文件和除split子目录外的其他文件(带有扩展名)都创建为符号链接到1_rawdata目录中对应的父目录。
这段代码的作用是将指定目录下的文件和文件夹同步到1_rawdata目录中,并且对于名为"split"的子目录,将其内容和除split子目录外的其他文件都创建为符号链接。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)