我正在使用:
ls /proc | grep -v "^[0-9].*"
Run Code Online (Sandbox Code Playgroud)
获取 /proc 中所有不以数字开头的文件和目录的列表。输出是一个单列列表,即:
acpi
asound
buddyinfo
bus
Run Code Online (Sandbox Code Playgroud)
我怎样才能使它成为一个多列或项目列表,即:
acpi asound buddyinfo bus
Run Code Online (Sandbox Code Playgroud)
或者
acpi,asound,buddyinfo,bus
Run Code Online (Sandbox Code Playgroud)
我试过:
$ ls /proc | grep -v "^[0-9].*" | column -c5
Run Code Online (Sandbox Code Playgroud)
但仍然有 1 列。
使用xargs
:
$ command ls /proc | grep -v "^[0-9].*" | xargs
Run Code Online (Sandbox Code Playgroud)
该command
部分是必要的,因为如果您ls
的别名ls --color
为例如,它会在其输出中添加非打印转义序列,grep
以某种方式搜索并产生不良结果。
其他选项
如果你不介意你的PWD
改变:
$ cd /proc && echo [^0-9]*
Run Code Online (Sandbox Code Playgroud)
如果你不想改变你的PWD
:
$ pushd . &>/dev/null && cd /proc && echo [^0-9]* && popd &>/dev/null
Run Code Online (Sandbox Code Playgroud)
或者:
$ echo /proc/[^0-9]* | sed 's!/proc/!!g'
Run Code Online (Sandbox Code Playgroud)