我想检查主机名,以确保它们符合Bash Shell中的标准命名约定。
假设主机名是ab-cde-01
wolf@linux:~$ h='ab-cde-01'
wolf@linux:~$ echo $h
ab-cde-01
wolf@linux:~$
我一开始就构建了if else循环,它运行得很好。
wolf@linux:~$ if [ $h = 'ab-cde-01' ]; then
> echo $h is a valid name
> else
> echo $h is an INVALID name
> fi
ab-cde-01
如何使用sed用文本替换空行?我尝试了一些早些时候发布的技巧,但它不起作用。有人能帮我吗?
示例文件内容-
Linux is an os.
Linux is opensource
Linux has various flavors like fedora,centos etc.
我想用像hello这样的文字来代替这些空白行。
我正在尝试使用case语句过滤出一些字符串。
case $HOST in
Linux|Windows|Storage*)
我想过滤掉具有如下名称的主机
test_prd_linux
test_prd_windows
如何将*prd*包含在上述case状态中?像这样吗?
case $HOST in
Linux|Windows|Storage|*prd*)
我的文件包含以下几行
File.txt
Unix is good
Linux and unix is different?
Linux is also good, then what about unix?
这里我要输出
(1st line blank)
Linix and
Linux is also good, then what about
在这里vi命令或任何其他命令都会给出这个输出?搜索特定的单词,如果这是对的话,然后删除那个词,然后删除该行中的所有单词。
Bash if条件在比较特定字符串时不匹配
匹配字符串:
Red Hat Enterprise Linux Server release 7.2 (Maipo)
代码:
machineOSVersion="Red Hat Enterprise Linux Server release 7.2 (Maipo)"
modifiedOSVersion="CentOS Linux release 7 OR Red Hat Enterprise Linux Server release 7.2 (Maipo)"
if [[ ${machineOSVersion} =
使用regexp字符串,如何删除包含匹配的第一行之前的所有行?例如,我如何才能改变这一点:
lost
load
linux
loan
linux
这方面:
linux
loan
linux
我试过:
echo "lost
load
linux
loan
linux" | sed -e 's/.*^li.*$//g'
但是它返回这个,而不是改变任何东西:
lost
load
linux
loan
linux
我想让它工作,这样当没有匹配的时候,它就不会输出任何东西。
我的文本文件如下所示:
If you are a software developer in your 20s or 30s, you've grown up in a world dominated by Linux. It has been a significant player in the data center for decades, and while it's hard to find definitive operating system market share reports, Linux's share of data center opera
我有一个跨平台项目运行在多个平台上。项目中的每个目录都有一个CmakeLists.txt,大多数cmake文件的代码类似于:
输入:
# set target os
if (DEFINED target_os)
SET (HRAD_SDK_TARGET_OS "${target_os}")
else ()
SET (HRAD_SDK_TARGET_OS "${CMAKE_SYSTEM_NAME}")
endif ()
message(STATUS "=============== SDK: cccccccccccccccccccccccccccccc
sudo apt-get autoremove .
产出:
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
apt libapt-pkg4.12 (due to apt) libc6 (due to apt) libgcc1 (due to apt)
libstdc++6 (due to apt) ubuntu-keyring (due to apt) gnupg (due to apt)
我想从文件中提取不包含特定模式的所有行。
pattern="tmp/[...]/include/linux/*.h"
file contains:
17937;/home/[...]/tmp/[...]/include/linux/header.h;484;16;[Other text here]
37417;/home/[...]/tmp/[...]/src/file.cpp;1851;41;[Other text here]
17945;/home/[...]/tmp/[...]/include/linux/*/header.h;484;16;[Other text her
我正在使用SQLite FTS查找文本文章中的文本:
SELECT count(*) FROM enrondata1 WHERE content MATCH 'linux';
这将返回包含 linux 的文章数,但不返回在每篇文章中找到linux的次数。但我还需要linux发现的实际次数,而不仅仅是文章数量。例如,我可能有两篇关于linux的文章,但是在每篇文章中都有10次,所以实际上有20个linux单词。我怎么能找到这个数字,也就是20?
我有一个与linux中的文本选择和替换有关的简单查询。我使用的是sed命令。我有以下案文:
你好世界,我只是简单的文字展示。
现在我想打印到"hello world“,只有我可以在linux中使用下面的命令来完成它。
echo "hello world, I am just simple text for display." | sed 's/, I am.*//g'
现在,我想要完全相反的这个函数,如何通过使用一个简单的命令(如sed )来删除"hello“。
所需产出:
,我只是简单的文字展示。
我更喜欢使用linux命令(sed等)。
./mercurystandalone-3.3-linux-installer.run
什么也没发生
双击文件管理器中的可执行文件
它允许我选择要运行的默认程序。
在properties中,我已经检查了选项allow executing file as program
我试过的另一个命令是:
uname -a
Linux ubuntu 3.8.0-34-generic #49~precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
file ./mercurystandalone-3.3
输入:
START
OS:: UNIX
Release: xxx
Version: xxx
END
Description about UNIX
<Multiline>
START
OS:: LINUX
Release: xxx
Version: xxx
END
Description about LINUX
<Multiline>
START
OS:: Windows
Release: xxx
Version: xxx
END
Description about Windows
<Multiline>
在这里,我试图获得所有的信息之间的开始和结
我有一个格鲁选项文件,我想通过脚本修改。我想添加额外的引导加载程序选项。
该文件可能会随着时间的推移而改变,因此我希望通过在映像附带的任何引导加载程序选项中添加一些适应未来版本的内容。
例如,引导加载程序文件包含以下内容:
# Set the recordfail timeout
GRUB_RECORDFAIL_TIMEOUT=0
# Do not wait on grub prompt
GRUB_TIMEOUT=0
# Set the default commandline
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS