我如何使用表来加扰文本文件表

托马斯·里希特

我有一张桌子。列顺序不得更改。并应保留这些值。

Name    Age size    Code
Abel    10  S   A
Bjorn   20  M   B
Casimir 30  L   C
Dennis  40  XL  D

我不仅要改组行,而且要独立所有值。因此,作为示例输出:

Name    Age size    Code
Casimir 20  M   D
Dennis  10  L   C
Bjorn   40  XL  A
Abel    30  S   B

因此shuf不起作用。

库萨兰达

以下使用bash和GNUshuf创建数据的随机版本。该脚本假定在命令行上提供了输入文件路径名,并将在标准输出上输出结果。假定输入是制表符分隔的。

#!/bin/bash

file=$1

cols=$( awk -F '\t' '{ print NF; exit }' <$file )

result=$(mktemp)
tmpfile=$(mktemp)

trap 'rm -f "$result" "$tmpfile"' EXIT

for ((i = 1; i <= cols; ++i)); do
    cut -f "$i" <"$file" |
    { IFS= read -r header; printf '%s\n' "$header"; shuf; } |
    paste "$result" - >$tmpfile

    mv "$tmpfile" "$result"
done
sed 's/^[[:blank:]]//' <$result

该脚本首先计算输入数据中的列数。它只是通过awk在输入的第一行中询问制表符分隔的字段的数量来做到这一点

然后,脚本逐一遍历输入文件的制表符分隔的列,并针对每一列读取标头并重新排列其他行。然后将标题和改组的行添加到临时输出文件中。

最后,由于输出现在在每一行的开头都包含一个制表符,因此将对其进行过滤sed以将其删除。

示例运行:

$ ./script.sh file
Name    Age     size    Code
Dennis  20      L       B
Bjorn   30      S       C
Abel    40      XL      A
Casimir 10      M       D
$ ./script.sh file
Name    Age     size    Code
Bjorn   40      S       D
Abel    30      XL      C
Casimir 10      M       A
Dennis  20      L       B

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何使用 PHP 爆炸从文本文件创建 HTML 表,每个单词之间有一个空格

如何从文本文件读取存储的哈希表?

从文本文件中使用python插入mysql表

使用文本文件批量插入创建表

使用从文本文件导入的范围创建表

使用Powershell从纯文本文件中提取表

使用C程序读取文本文件中的表

使用PHP从文本文件创建表

遍历文本文件中的表

如何使用Python从给定的文本文件向字典添加表?

如何使用Python将文本文件中的数据插入SQL Server表中?

如何使用python将单列文本文件解析为表?

如何使用php将文本文件读取到HTML表中?

如何使用bash从文本文件创建词汇表?

如何使用 bash 从文本文件创建词汇表?

如何使用我的解密类解密文本文件?

我如何使用python计算文本文件的段落?

我正在从Java读取文本文件以插入到Oracle DB表中,如何跳过前2行?

我需要使用python将sql表导出到包含列名称的管道分隔文本文件中

我可以不使用FileReader文件选择选项来读取文本文件吗

我如何获得用于gedit的插件来缩放文本文件?

解析文本文件或html文件以创建表

如何在Linux终端提示中使用awk,sed,grep或cut将文本文件内容获取到表

使用Java使用填充创建文本文件表

PHP MySQL的从固定宽度的文本文件插入表

解析文本文件表并汇总信息

将数据从文本文件插入表

Python漂亮表输出到文本文件

文本文件的正則表達式解析