shell 获取文件里面每一行/后面的字符串
时间: 2023-12-19 09:04:44 浏览: 38
当然,你也可以使用 shell 命令行来获取文件里面每一行/后面的字符串。你可以使用 awk 命令来实现这个目的。
假设你有一个名为 "file.txt" 的文件,其中包含了多行字符串,你可以使用以下命令获取每一行/后面的字符串:
```shell
awk -F/ '{print $NF}' file.txt
```
这个命令使用 awk 命令,指定分隔符为 '/',然后打印每一行的最后一个字段,即以 '/' 分割后的最后一个字符串。最终输出的结果就是每一行/后面的字符串。
希望这个命令对你有所帮助!
相关问题
shell 获取文件里面每一行/前面,空格后面的字符串
好的,你可以使用 awk 命令来获取文件里面每一行/前面,空格后面的字符串。
假设你有一个名为 "file.txt" 的文件,其中包含了多行字符串,每一行都以 '/' 分割为两个部分。你可以使用以下命令获取每一行/前面,空格后面的字符串:
```shell
awk -F/ '{print $1,$2}' file.txt | awk '{print $2}'
```
这个命令使用 awk 命令,首先指定分隔符为 '/',然后打印每一行的前两个字段,即以 '/' 分割后的第一个字符串和第二个字符串。接着,将输出结果作为管道传递给另一个 awk 命令,这次没有指定分隔符,而是以空格为分隔符,打印每一行的第二个字段,即以空格分割后的第二个字符串,也就是每一行/前面,空格后面的字符串。
希望这个命令对你有所帮助!
shell 根据/切割字符串取最后一段
在shell编程中,我们可以使用不同的方法来根据指定的分隔符切割字符串,并取出最后一段。一种常见的方法是使用变量的字符串替换。假设我们有一个字符串变量为"$string",我们可以使用"${string##*/}"来获得最后一段。这里,"##"代表最长匹配,"/"为分隔符。所以"${string##*/}"的意思是从字符串的开头开始,删除最后一个"/"之前的所有内容,只保留最后一段。
另外一种方法是使用tr命令,将分隔符替换为空格,然后将字符串赋值给一个数组,最后通过数组索引取出最后一段。下面是一个示例代码:
```
string="hello/shell/split/test"
array=(`echo $string | tr '/' ' '`)
last_segment=${array[-1]}
echo $last_segment
```
在这个示例中,使用tr命令将"/"替换为空格,然后将结果赋值给数组array。最后,通过索引-1来获取数组中的最后一段。
综上所述,我们可以使用变量的字符串替换或者tr命令来根据指定的分隔符切割字符串并取出最后一段。