Sed 如何获取符号链接的名称?
命令的输出如下所示Sed 如何获取符号链接的名称?,sed,symlink,cut,Sed,Symlink,Cut,命令的输出如下所示 # ls -l abc.zip lrwxrwxrwx 1 sri dba 122 Mar 27 23:37 /a/b/c/abc.zip -> /x/y/z/abc.zip 我需要提取/剪切->之后的整个路径。我曾经使用过cut-f-d,但有时它不起作用,我想列号正在改变。因此,我需要与之相当的sed。这可能适合您(GNU-sed): 这可能适用于您(GNU-sed): 使用“剪切”只能指定单字符分隔符 对于字符串分隔符,一个简单而清晰的选项是awk。在您的情况下,请
# ls -l abc.zip
lrwxrwxrwx 1 sri dba 122 Mar 27 23:37 /a/b/c/abc.zip -> /x/y/z/abc.zip
我需要提取/剪切->
之后的整个路径。我曾经使用过cut-f-d
,但有时它不起作用,我想列号正在改变。因此,我需要与之相当的sed
。这可能适合您(GNU-sed):
这可能适用于您(GNU-sed):
使用“剪切”只能指定单字符分隔符 对于字符串分隔符,一个简单而清晰的选项是awk。在您的情况下,请尝试:
ls -ls abc.zip | awk -F '->' '{print $2}'
使用“剪切”只能指定单字符分隔符 对于字符串分隔符,一个简单而清晰的选项是awk。在您的情况下,请尝试:
ls -ls abc.zip | awk -F '->' '{print $2}'
您正在阅读的是有关符号链接的信息 用它来代替呢?它不会读取符号链接的值: 或使用
-f
获取完整路径:
readlink -f abc.zip
请参见一个示例:
$ touch a
$ ln -s a b # we create a symbolic link "b" to the file "a"
$ ls -l b
lrwxrwxrwx 1 me me 1 Apr 6 09:54 b -> a
$ readlink -f "b" # we check the full "destination" of the symlink "b"
/home/me/a
$ readlink "b" # we check the "destination" of the symlink "b"
a
您正在阅读的是有关符号链接的信息 用它来代替呢?它不会读取符号链接的值: 或使用
-f
获取完整路径:
readlink -f abc.zip
请参见一个示例:
$ touch a
$ ln -s a b # we create a symbolic link "b" to the file "a"
$ ls -l b
lrwxrwxrwx 1 me me 1 Apr 6 09:54 b -> a
$ readlink -f "b" # we check the full "destination" of the symlink "b"
/home/me/a
$ readlink "b" # we check the "destination" of the symlink "b"
a