linux - 如何将文件文本放入 bash 或 python 中的二维数组

标签 linux

我正在编写一个 bash 脚本,到目前为止这是我想要做的;

假设我有一个 file.txt

这是

文件

发短信

我是

指的是

我想让我的脚本在第一列使用变量打印出来

这个

正文

引用

还有另一个打印第二列的变量

文件

那个

我是

我想把两个不同的输出放到一个数组中,这样我就可以随时调用它

你能帮帮我吗?

最佳答案

对于文件 sample.txt

This Is
The File
Text That
I Am
Referring To

命令

$ cut -d' ' -f1 sample.txt

将以下内容输出到标准输出。

This
The
Text
I
Referring

和命令(使用-f2)

$ cut -d' ' -f2 sample.txt

输出如下

Is
File
That
Am
To

也许您可以修改它们以将结果存储到数组中。


使用 python,您可以获得一个“列表的列表”,其使用方式有点像二维数组,如下所示

nice_list=[line.split() for line in open('sample.txt','r')] 

例如下面的脚本

#!/usr/bin/env python

fname='sample.txt'
nice_list=[line.split() for line in open(fname,'r')] 

numrow=len(nice_list)

print '----------------'
print 'first column:'
for jrow in range(numrow):
    print nice_list[jrow][0]

print '----------------'
print 'second column:'
for jrow in range(numrow):
    print nice_list[jrow][1]

输出

----------------
first column:
This
The
Text
I
Referring
----------------
second column:
Is
File
That
Am
To

关于linux - 如何将文件文本放入 bash 或 python 中的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42959789/

相关文章:

c - 缓存一致性读取无效 block 需要多少个周期?

linux - Linux 机器中 crontab 的服务名称是什么?

python - 由于 pip3.2 错误,软件包安装失败

linux - 在交互式和非交互式 shell 模式下运行 ssh 之间有区别吗?

linux - 按预期生成 ssh 时的问题({$var} 与 "$var")

我可以将 SIGCONT 发送到正在运行的进程吗?

python - 如何在 Xvfb 中运行 Selenium?

c++ - Visual Studio 交叉编译到 Linux

linux - 链接到应用程序期间共享库 undefined reference

linux - 在 linux 中调用中断处理程序的下半部分的函数