パスワードファイルに二重引用符を追加する方法

パスワードファイルに二重引用符を追加する方法

sedまたは他のユーティリティを使用してpasswdファイルに二重引用符を追加するには:

ソースファイル:

user1:x:1:1:User1:/home/user1:/bin/bash
user2:x:2:2:User2:/home/user2:/bin/bash
user3:x:3:3:User3:/home/user3:/bin/bash

私がしたいこと:

"user1":"x":"1":"1":"User1":"/home/user1":"/bin/bash"
"user2":"x":"2":"2":"User2":"/home/user2":"/bin/bash"
"user3":"x":"3":"3":"User3":"/home/user3":"/bin/bash"

ベストアンサー1

あなたはできます:

sed 's/[^:]*/"&"/g' /etc/passwd

つまり、*:[^:]以外のゼロ個以上の()文字シーケンスを引用符で囲みます。

または、二重引用符文字を含むフィールドを正しく引用し(csvスタイル)、ここにヘッダーを追加する専用のcsv処理ツールを使用してください。

mlr --icsvlite --ocsv --implicit-csv-header --fs : --quote-all label \
  'User Name,Password,UID,GID,Gecos,Home Directory,Shell' /etc/passwd

おすすめ記事