linux - 使用 AWK 打印除第一列之外的所有列

标签 linux bash shell awk

我有一个包含文件列表的文件。文件看起来像这样

$ cat filelist
  D       src/layouts/PersonAccount-Person Account Layout.layout
  D       src/objects/Case Account-Record List.object

我想剪切前两列并仅打印目录路径的文件名。该列表是动态的。文件名之间有空格。所以我不能使用空格作为分隔符。如何使用 AWK 命令获取它?

输出应该是这样的

src/layouts/PersonAccount-Person Account Layout.layout
src/objects/Case Account-Record List.object

最佳答案

你能尝试一次吗:

bash-4.4$ cat filelist |awk '{$1="";print $0}'
 src/layouts/PersonAccount-Person Account Layout.layout
 src/objects/Case Account-Record List.object   

否则,如果您想删除 2 列,则为:

awk '{$1=$2="";print $0}'

这将产生以下输出:

bash-4.4$ cat filelist |awk '{$1=$2="";print $0}'                                                                                                                                   
  Account Layout.layout                                                                                                                                                             
  Account-Record List.object   

关于linux - 使用 AWK 打印除第一列之外的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46283116/

相关文章:

linux - 如何在 Linux 中获取分组文件的总数以及扩展名和路径

linux - 复制后 bash 脚本无法正常工作

linux - 数字数组之间有两个额外的空间

c - 简单linux shell中的环境变量

c - 为什么 sqlite 允许第二个进程进行写操作而第一个进程已经在进行写操作

python - Pygame 或 Python 中的透明窗口

Swift 中 dispatch_get_specific 的 Linux 编译错误

bash - 这个 bash 脚本有什么作用?

bash - 为什么正确的 shell 脚本会给出包装/截断/损坏的错误消息?

linux -/var/www/html 的权限