Re:ユーザーリストスクリプト

Re:ユーザーリストスクリプト

このスクリプトに結果をファイルに出力させるにはどうすればよいですか?

#!/bin/bash
#Use awk to do the heavy lifting.
#For lines with UID>=1000 (field 3) grab the home directory (field 6)
usrInfo=$(awk -F: '{if ($3 >= 1000) print $6}' < /etc/passwd)

IFS=$'\n' #Use newline as delimiter for for-loop
for usrLine in $usrInfo
do
  #Do processing on each line
  echo $usrLine
done

https://unix.stackexchange.com/a/340705/287340

答え1

./path/to/my/script.bash > output.txt

ところで、フィールド区切り文字を次に設定する必要はありません。$'\n'

考えてみると、forループはまったく意味がありません(このスクリプトに追加する予定がない場合は?)。以下を実行できます。

awk -F: '{if ($3 >= 1000) print $6}' /etc/passwd > output.txt

関連情報