假设我有一个以Unix格式创建的文件。现在,在将该文件发送到窗口之前,必须完成EOL转换。
我需要在bash中这样做,这就是我到目前为止所拥有的:
为了简单起见,假设我的文件名为file_linux.txt,它提供以下输出:
cat -A file_linux.txt
first line$
second line$
third line$
file file_linux.txt
file_linux.txt: ASCII text
因此,似乎我只需要在$符号之前添加回车(^M或\r)。
我的想法是使用sed将$替换为\r$,方法如下:
sed 's/$/\r$/g' fil
我有一堆在Linux中创建的目录、子目录和文件名,其模式如下: YYYY - MM - DD T HH <>: MM : > SS (我在目录/sub/文件名中添加了空格,但没有空格;YYYY,MM,DD.是整数和'-','T',‘’是表达式的常量)。
这些目录/文件被复制到Windows,然后返回到Linux,':‘被破坏了。每个地方都应该有“:”有“357\200\242”显示为?当我做ls时。
我知道使用mv和sed的组合来解决这个问题不应该太复杂,但是我在管道、regex和sed的使用方面非常生疏。
So远我有这个
for a
我正在使用Ubuntu Linux并从一个文件(比方说filename.log)中提取信息,并希望使用(filename.log)中的一些信息来保存该文件。
示例:
The info in the (filename.log) has version_name and date.
当使用cat在屏幕上显示此信息时,它将显示:
version_name=NAME
date=TODAY
然后,我想将文件另存为NAME-TODAY.log,但不知道如何执行此操作。
任何帮助我们都将不胜感激。
我和我的合作伙伴在使用这个基本的Linux脚本时遇到了麻烦。我们的讲师把一个高级的Linux脚本包扔给我们去调试,我们都很迷茫。脚本应该删除文件名中包含嵌入空格的文件,而我使用的是实际的rm命令。我得到了“缺少操作数”,我不确定该怎么办。
#!/bin/bash
# This script is supposed to delete all filenames in current directory
#+ containing embedded spaces.
# It doesn't work
# Why not?
badname= ls | grep " "