我有一个.txt文件,其名称列表显示为
Ashley
Anna
Alex
etc...
我想编写一个脚本来从命令行传递此文件,并以下列格式打印输出,
"Ashley" = "Ashley";
我还是shell脚本的新手,所以非常感谢任何帮助。
答案 0 :(得分:1)
假设:
$ cat names.txt
Ashley Smith
Anna Daulin
Alex de Witt
您可以一次读取一行文件,然后根据需要进行格式化:
$ while IFS= read -r line || [[ -n $line ]]; do
printf "\"%s\"=\"%s\";\n" "$line" "$line"
done < names.txt
"Ashley Smith"="Ashley Smith";
"Anna Daulin"="Anna Daulin";
"Alex de Witt"="Alex de Witt";
或者只使用sed
:
$ sed 's/\(.*\)/"\1"="\1";/' names.txt
"Ashley Smith"="Ashley Smith";
"Anna Daulin"="Anna Daulin";
"Alex de Witt"="Alex de Witt";
答案 1 :(得分:0)
一次读取一行文件,然后通过下面的一行,以回应新的文件。
使用\"
引用打印出的名称...阅读更多内容
here
[dza ~]$ line="alex" && echo "\"$line\" = \"$line\"" ";"
将打印:
"alex" = "alex" ;