我有一个包含一些Latex的文件:
\begin{figure}[ht]
\centering
\includegraphics[scale=0.15]{logo.pdf}
\caption{Example of a pdf file inclusion}
\label{fig:pdfexample}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
我想在bash脚本中阅读它:
while read line
do
echo $line
done < "my.tex"
Run Code Online (Sandbox Code Playgroud)
输出是
begin{figure}[ht]
centering
includegraphics[scale=0.15]{logo.pdf}
caption{Example of a pdf file inclusion}
label{fig:pdfexample}
Run Code Online (Sandbox Code Playgroud)
为什么我会丢失反斜杠和初始空格?
如何保存它们?
Rob*_*b I 21
您丢失了反斜杠和空格,因为bash(通过其内置读取)正在评估文本的值 - 替换变量,查找转义字符(制表符,换行符)等.有关详细信息,请参阅联机帮助页.此外,echo将结合空格.
至于保存它们,我不确定你能不能.您可能会通过以下操作获得反斜杠:
while read -r line
do
echo $line
done < "my.tex"
Run Code Online (Sandbox Code Playgroud)
应修改read以不尝试评估反斜杠.尽管如此,它仍然可能会吞噬领先的空间.
编辑:将$IFS特殊变量设置为空字符串,如下所示:
export IFS=
Run Code Online (Sandbox Code Playgroud)
在这种情况下将导致保留空格.
| 归档时间: |
|
| 查看次数: |
14160 次 |
| 最近记录: |