【发布时间】:2015-03-20 01:17:20
【问题描述】:
所以我有一个文本文件,它可能有一个制表符作为其字段分隔符(分隔符),或者它可能有一个空格作为字段分隔符。我想检查该文本文件是否已制成表格,否则我将对该文件执行其他操作。我正在使用 bash 脚本。所以我对纯 bash、sed、awk、grep 等的任何东西都持开放态度(注意:它们都是 GNU)。所以我正在考虑这样的结构:
if [if delimiter is tab]; then
#do soemthing
elif [if delimiter is space]; then
#do something else
fi
有什么建议吗?让我知道是否需要进一步解释。谢谢!
以下是对文本文件外观的更新说明:
如果文本文件有一个制表符作为分隔符,则它在每一行上分隔。如果文本文件有一个空格作为分隔符,那么它不是每行分隔的。
以下是我可能遇到的可能的文本文件示例:
分隔符是制表符:
col1 col2 col3
-------
1 2 3
4 5 6
分隔符是空格:(空格在12到3 && 4到56之间)
col1col2col3
-----------
12 3
4 56
【问题讨论】:
-
文件是否在每一行分隔? (你能保证第一行会被分隔吗?)空格分隔的文件中是否有任何制表符?制表符分隔的文件中是否有空格?
-
@EtanReisner 感谢您的关注。如果文本文件有一个制表符作为分隔符,那么它会在每一行上分隔。如果文本文件有一个空格作为分隔符,则不是每一行都分隔。