Linux 脚本从 Excel 中提取信息来创建用户 [关闭]

2024-01-20

现在我被这个项目困住了,必须从 Excel 文件中提取信息来创建用户。该脚本需要以下内容。

  • 为员工创建账户
  • 将他们放入他或她自己的部门组中
  • 使用他或她的员工 ID 设置初始密码
  • 发送包含新帐户和密码的电子邮件
  • 在屏幕上用点显示进度

我已经接近了,但在第 8 行和第 13 行收到 EOF 错误,请参阅此处的脚本

#!bin/bash
echo $(pwd)/employeesdata.xls
Path=$($pwd)/employeesdata.xls
read Path
if [ -e $Path ];
then
Username= [ grep $(Username) $Path | cut -f1 -d `]'
Password= [ grep $(Password) $Path | cut -f2 -d `]'
useradd -- b $Username
echo $Password | /usr/bin/passwd --stdin $Username
fi
exit


I know it doesn't have the email portion yet.

PS-UserScript:第 8 行:寻找匹配的“”时出现意外的 EOF PS-UserScript:第 13 行:语法错误:意外的文件结尾


您可以使用 Spreadsheet::ParseExcel 来完成此任务:

首先确定cpanm已安装:

$ cpan App::cpanminus

然后安装模块:

$ cpanm Spreadsheet::ParseExcel

安装后,您将能够使用已复制到问题中的解析脚本。该脚本将一次获取每个单元格,但在读取后您仍然需要对这些值执行一些操作。根据电子表格的设置方式(如果您提供示例或至少提供有用的标题),您可能希望在迭代行时收集所需的信息,然后使用您的数据执行所需的操作集。

另外,我想指出,您解析的文件必须采用旧的 *.xls 格式。 ParseExcel 不会解析 *.xlsx 文件,因此如果需要,请首先使用 Excel 以旧格式保存。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 脚本从 Excel 中提取信息来创建用户 [关闭] 的相关文章

  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 如何在 Linux/OS X 上温和地终止 Firefox 进程

    我正在使用 Firefox 进行一些自动化操作 尽管我可以从 shell 打开 Firefox 窗口 但我无法正确终止它 如果我kill火狐进程与kill 3 or kill 2当我下次打开新的 Firefox 窗口时 命令会询问我是否要在
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 完整的 C++ i18n gettext()“hello world”示例

    我正在寻找完整的 i18ngettext 你好世界的例子 我已经开始了一个基于的脚本使用 GNU gettext 的本机语言支持教程 https web archive org web 20130330233819 http oriya s
  • 在非实时操作系统/内核上执行接近实时任务的最佳方法是什么?

    在一台 GNU Linux 机器上 如果想要执行 实时 亚毫秒级时间关键 任务 您几乎总是必须经历漫长 复杂且容易出现问题的内核补丁过程 以提供足够的支持 1 http en wikipedia org wiki RTLinux Backg
  • 在哪里可以找到将现有 CPAN 模块转换为使用 Dist::Zilla 的简明指南?

    我曾多次阅读过相关文档和一些博客文章地区 齐拉 http search cpan org dist Dist Zilla 我从来没有对自己的理解充满信心 在回答另一个问题时 Ether 提出了转换的可能性地穴 SSLeay http sea
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • Perl:非阻塞管道 - 只收到一条消息

    几周前我问了一个关于实现非阻塞单父多子管道的问题 mob 巧妙地回答了这个问题here https stackoverflow com questions 52723489 perl one parent many children sin
  • 如何匹配与 Perl 中的特定模式不匹配的字符串?

    我知道使用正则表达式很容易匹配除给定字符之外的任何内容 text ab ac ad text s c g Match anything except c text is now c 我不知道如何 排除 字符串而不是字符 我如何 匹配除 ac
  • Grep 递归和计数

    需要在具有大量子目录的目录中搜索文件内的字符串 我在用着 grep c r string here 我怎样才能找到总数量 如何仅输出至少具有一个实例的文件 使用 Bash 的进程替换 这给出了我认为是您想要的输出 如果不是 请澄清问题 gr
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • 打印 Perl 数组的简单方法? (有一点格式化)

    有没有一个easy如何打印每个元素之间用逗号分隔的 Perl 数组 编写一个 for 循环来做到这一点非常简单 但不太优雅 如果这是有道理的 只需使用join http perldoc perl org functions join htm
  • getoptions 函数 perl 多值不起作用

    具有以下 getoptions 功能 iifiles 参数是可选的 如果提供的话它可以是一对多 但是当我运行此函数时收到错误消息 选项规范错误 Perl 在Solaris 10 上运行 不确定需要为iiles 提供哪些多值选项 GetOpt
  • Perl:管理 Windows 上的路径编码

    我正在努力处理包含非英文字符的路径 Activestate Perl Windows XP 如何打开 写入 复制等位于包含希腊语 俄语 法语重音字符的路径中的文件 假设我要将 text txt 文件复制到的目录是 C Documents a
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • 如何匹配单引号字符串中的双反斜杠?

    我需要区分带有单反斜杠和双反斜杠的字符串 Perl 对它们一视同仁 print n qqq www eee rrr print n qqq www eee rrr 将给出相同的结果 qqq www eee rrr qqq www eee r
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 安装 JDK 时出错:keytool 命令需要已安装的 proc fs (/proc)。 Linux 的 Windows 子系统

    我尝试在 Linux 的 Windows 子系统 Ubuntu 14 04 上安装 Oracle JDK 1 7 但出现以下错误 the keytool command requires a mounted proc fs proc Jav

随机推荐

  • 如何在 Typescript/Webpack 的 Bitbucket Pipelines 中增加 NodeJS 堆(--max-old-space-size)?

    我在无服务器 TypeScript 项目中的 webpack 打包步骤中遇到内存问题 我努力了 增加内存限制 npm 包无济于事 从 npm run 脚本调用以下命令 通过bitbucket pipelines yml直接调用以下命令 no
  • 取消选择所有 jquery 选项卡时遇到问题

    我设置了一些 jQuery 选项卡 一开始没有选择任何选项卡 如下所示 tabs tabs selected 1 然后我还有一个单独的链接 按下该链接需要取消选择所有选项卡 deselectButton click function tab
  • 从另一个进程访问 mmap 内存

    我开始玩 mmap 了 我正在尝试创建一个示例工作区 然后将其扩展到实际案例 这就是我想要实现的目标 流程1 mmap一个文件 实际上是一个设备 但是用文本文件生成一个例子是可以的 进程2 不是从进程1复制而来 只是一个独立的进程 读取进程
  • 在Python中编辑文本文件中的特定行

    假设我有一个文本文件 其中包含 Dan Warrior 500 1 0 有没有办法可以编辑该文本文件中的特定行 现在我有这个 usr bin env python import io myfile open stats txt r dan
  • 重复的 ID。日本科学基金会

    我的 JSF 有问题 谁能说为什么这不起作用
  • 在 matlab GUI 中创建选项卡

    如何在 matlab gui 中创建选项卡 我不久前做了这样的事情 我的意思是我在 GUI 顶部创建了一些菜单 然后按每个菜单将设置某些控件的可见属性 而其他控件则关闭 这种方式对于小型 GUI 很有用 但在 beag GUI 中会遇到问题
  • raku 语法的标记不会命中文档的第一次出现,但会命中类似的后续出现

    我想处理希伯来语的整个 Tanach 文件 为此 我选择了 Raku 语言 因为它的一些功能 语法和 unicode 支持 因此 我定义了一些标记来选择相关数据 grammar HEB token TOP
  • 如何使用 autoStartup=false 启动 Camel 路线

    我想使用以下命令来控制我的路线何时启动RoutePolicy 因此 我将其定义为autoStartup false
  • 在 Theano 中循环(或向量化)可变长度矩阵

    我有一个矩阵列表L 其中每个项目M is a x n矩阵 x是一个变量 n是一个常数 我想计算总和M M对于所有项目L M 是转置M 如以下 Python 代码所示 for M in L res np dot M T M 实际上我想在The
  • Levenshtein 距离算法比 O(n*m) 更好?

    我一直在寻找一种先进的编辑距离算法 并且迄今为止我发现的最好的 http www levenshtein net 是 O n m 其中 n 和 m 是两个字符串的长度 该算法之所以达到如此规模 是因为空间而不是时间 因为创建了两个字符串的矩
  • 如何使用 CSS 居中和裁剪图像以使其始终显示为正方形?

    我需要始终仅使用 CSS 将随机大小的图像裁剪为 160x160 的正方形 裁剪时图像应保持居中 我的标记应该是 a href class cropper img src image alt description a 在 StackOve
  • 告诉我如何在没有javascript的情况下进行半液体布局,我觉得我错过了一些简单的东西

    好的 首先我将支持 IE7 所以盒子大小已经过时了 我有一个固定大小的页眉和页脚 例如每个 80 像素 分别位于窗口的顶部和底部 我想要一个 div 占据其之间的所有空间 无论窗口大小如何 使用 JavaScript 很轻松 但是有没有办法
  • 正则表达式允许 A-Z、- 和 '

    我试图让这个正则表达式起作用来验证名称字段仅允许 A Z 和 到目前为止 我正在使用它 除了不允许使用撇号之外 它工作得很好 if preg match a zA Z firstname do something 我希望它只允许 A Z 破
  • 在 python 中重新打开声音文件时出错

    我正在制作一个程序 它可以简单地重复您输入的任何文本 并且在我第一次测试它时似乎可以正常工作 问题是 当我第二次尝试输入任何内容时 它崩溃并说我录制的声音文件的权限被拒绝 我相信这是因为文件已经打开 但我仍然不知道如何修复它 我正在使用 g
  • PageSpeed 和 CDN 图像

    我目前有一个网站 通过 AWS Cloudfront 为位于 AWS S3 上的图像提供服务 我不想安装 PageSpeed 而是想利用 PageSpeed 提供的图像优化和延迟加载 页面视图之外 我的问题是 我是否需要使用 PageSpe
  • 如何用 Java 解析 1 或 2 位数的小时字符串?

    我的解析器可能会遇到 2 37PM 由 H mma 解析 或 02 37PM 由 hh mma 解析 如何在不使用 try catch 的情况下解析两者 当我出错时 我会收到这样的错误 发现冲突 AmPmOfDay 0 字段与派生的 AmP
  • 尝试在 .Net Core 应用程序中使用 Thread_UseAllCpuGroups

    我正在尝试在我的 Net Core 应用程序中使用 Thread UseAllCpuGroups 将框架与 Web Config 中的设置结合使用时 我在 3990x 处理器上使用所有 128 个 CPU 时没有任何问题 但在将其转移到 N
  • 当 --coverage-html 时 Phpunit 非常慢

    我正在使用 Phpunit 如果我只是运行我的测试 phpunit log junit 输出 xml 这在一秒钟内运行 但如果我想要代码覆盖率 phpunit coverage html report log junit 输出 xml 那么
  • Jupyter 笔记本中 shell 命令的实时输出

    我告诉 jupyter 执行一个 python 脚本 python build database py 从终端执行时 Python 脚本会打印执行过程中的进度 但是 在 jupyter 笔记本中 执行后我将所有输出打印为字符串列表 有没有办
  • Linux 脚本从 Excel 中提取信息来创建用户 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 现在我被这个项目困住了 必须从 Ex