打印出从外部文件传递的名称列表

时间:2016-02-23 01:47:13

标签: bash shell

我有一个.txt文件,其名称列表显示为

Ashley
Anna
Alex
etc...

我想编写一个脚本来从命令行传递此文件,并以下列格式打印输出,

"Ashley" = "Ashley";

我还是shell脚本的新手,所以非常感谢任何帮助。

2 个答案:

答案 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" ;