Shell 编程-读取并输出找到的文件的内容
Shell programming - reading and outputting the contents of found file
我正在尝试创建一个 shell 脚本来查找文件、读取该文件、输出该文件的内容并按用户名对内容进行排序。脚本找到的文本文件将只包含用户名和进程的列表。例如用户名看起来像 jsmith2 等。当输出最终结果时,内容需要按用户名排序。在其他脚本中,我使用 --sort 用户按字母顺序对输出进行排序,但那是我使用 ps aux 命令的时候。
这就是我目前所拥有的,现在有点卡住了。任何帮助都会很棒。抱歉,我有点新手。
#!/bin/bash
find -name 'user*'| while read fname; do
echo "$fname" --sort user
done
逐字记录您所写的内容,假设每个文件的第一列是用户名:
find . -name 'user*' -exec cat '{}' + | sort
这会将 find
找到的所有文件连接成一个流,并将流传输到 sort
。默认情况下,sort
从每行的开头开始排序——所以如果用户名是每行的第一项,这将完全按照需要执行。
我正在尝试创建一个 shell 脚本来查找文件、读取该文件、输出该文件的内容并按用户名对内容进行排序。脚本找到的文本文件将只包含用户名和进程的列表。例如用户名看起来像 jsmith2 等。当输出最终结果时,内容需要按用户名排序。在其他脚本中,我使用 --sort 用户按字母顺序对输出进行排序,但那是我使用 ps aux 命令的时候。
这就是我目前所拥有的,现在有点卡住了。任何帮助都会很棒。抱歉,我有点新手。
#!/bin/bash
find -name 'user*'| while read fname; do
echo "$fname" --sort user
done
逐字记录您所写的内容,假设每个文件的第一列是用户名:
find . -name 'user*' -exec cat '{}' + | sort
这会将 find
找到的所有文件连接成一个流,并将流传输到 sort
。默认情况下,sort
从每行的开头开始排序——所以如果用户名是每行的第一项,这将完全按照需要执行。