#!/bin/bash
counter=2
while [ $counter -lt 19 ]
do
username= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f1
psswd= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f2
full_name= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f3
group= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f4
second_group= head -n $counter ./user_sheet.csv | tail -n 1 | cut -d ';' -f5
sudo …Run Code Online (Sandbox Code Playgroud) 我无法弄清楚\在此命令中放置 的位置。
grep "^D.*\(A1|A2|A3\)$" input.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
我正在搜索以 a 开头D并以 A1、A2 或 A3 结尾的每一行,它们位于该行的末尾。
我每天打开很多终端。每次我按 Ctrl+ Alt+时T,它都会打开一个终端并要求我输入密码:
有没有办法在不要求密码的情况下打开终端?
我正在运行 Ubuntu 20.04.04 LTS - 带有 Gnome
我的 shell 脚本和 shellcheck.net 有问题。下面的脚本就像一个魅力,但 shellcheck 告诉我必须引用变量,但在脚本中引用变量会阻止脚本工作(我需要分词)。
有人能帮助我吗?
apt-get $COMMAND -y -qq $PACKAGES >/dev/null &
^-- SC2086 (info): Double quote to prevent globbing and word splitting.
^-- SC2086 (info): Double quote to prevent globbing and word splitting.
Run Code Online (Sandbox Code Playgroud) 我的 1TB 硬盘上有两个分区。第一个(大约 550 GB)安装了 Ubuntu 18.04,另一个(大约 400 GB)安装了 Windows 10。
sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)
给我:
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1126399 1124352 549M 7 HPFS/NTFS/exFAT
/dev/sda2 1126400 820979711 819853312 391G 7 HPFS/NTFS/exFAT
/dev/sda3 820981758 1953523711 1132541954 540G 5 Extended
/dev/sda5 820981760 1937899728 1116917969 532,6G 83 Linux
/dev/sda6 1937901568 1953523711 15622144 7,5G 82 Linux swap / Solaris
Run Code Online (Sandbox Code Playgroud)
所以,这意味着/dev/sda2我有我的 Windows,它是 exFAT 格式。
根据:https ://www.howtogeek.com/235596/whats-the-difference-between-fat32-exfat-and-ntfs/
我必须安装额外的包才能/dev/sda2通过 Linux从 ( ) 分区读取文件.
而且,根据https://www.howtogeek.com/235655/how-to-mount-and-use-an-exfat-drive-on-linux/ …
这是我正在使用的文件:
Shane有点打球 小的 愚蠢的
当我使用
egrep 's.*l' new
Run Code Online (Sandbox Code Playgroud)
我得到的输出为
沙恩有点爱打球 小的 傻丫头
当我使用
egrep 's.*?l' new
Run Code Online (Sandbox Code Playgroud)
我得到与上面相同的输出,但它应该是不同的。
我在一个文件夹中有几部电影。
例如:
~/Downloads/Movies/Movie A (1998).mkv
~/Downloads/Movies/Movie B (1999).mkv
~/Downloads/Movies/Movie C (2000).mkv
Run Code Online (Sandbox Code Playgroud)
我想将每个文件放入自己的文件夹中,并将文件夹命名为与文件名相同的名称。我有很多文件,所以如果可能的话,我希望能够批量执行此操作。
例如:
~/Downloads/Movies/Movie A (1998)/Movie A (1998).mkv
~/Downloads/Movies/Movie B (1999)/Movie B (1999).mkv
~/Downloads/Movies/Movie C (2000)/Movie C (2000).mkv
Run Code Online (Sandbox Code Playgroud)
我曾尝试在此页面上使用 bash 命令
find . -name "*.mkv" -exec sh -c 'mkdir "${1%.*}" ; mv "" "${1%.*}" ' _ {} \;
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误消息:
find . -name "*.mkv" -exec sh -c 'mkdir "${1%.*}" ; mv "" "${1%.*}" ' _ {} \;
Run Code Online (Sandbox Code Playgroud)
文件夹创建正确,但命令无法将文件移动到文件夹中,出现上述错误。
哪一部分
; mv "" "${1%.*}" ' _ {} \;
Run Code Online (Sandbox Code Playgroud)
是不正确的,怎么会这样?
此外,如果您认为还有其他命令或脚本可以完成这项工作,我们将不胜感激。
我在目标服务器中使用以下命令:
rsync -ab myuser@sourcehost:/source_dir/* target_dir
Run Code Online (Sandbox Code Playgroud)
但这无法同步存在 source_dir 的隐藏文件,我需要使用任何东西,--include以便可以迁移隐藏文件。
但是这个包含选项不应该影响普通文件的迁移,因为我在我的脚本中使用了这个命令。
我该怎么办?
我在脚本中有 5 个选项,例如获取 IP 地址、可用内存、CPU 使用率、主机名和用户名。
我想做一个脚本来获取所有输出或任何人。
例如 :
如果我执行
system_info.sh -i ip -fm free -c cpu -h host -u user
Run Code Online (Sandbox Code Playgroud)
或者
system_info.sh -all all
Run Code Online (Sandbox Code Playgroud)
那么它应该给出所有的输出。
如果假设我只想要一个输出,则需要运行相同的脚本
system_info.sh -fm free
system_info.sh -fm free -i ip
Run Code Online (Sandbox Code Playgroud)
我有这个想法,但我不知道如何设置这些选项并在脚本中进行验证。
请建议我如何设置这些选项
移动实际上是在新位置创建文件的副本,然后从以前的位置删除文件。由于不可能同时有两个相同的inode编号,因此在复制之后和删除旧文件之前(短时间)应该更改inode编号。但是,我发现 inode 编号在mv命令后不会改变。那么,被删除的文件的inode号是不是重新分配给了复制的文件呢?
我写了一个简单的脚本:
for DIR in /etc/*; do
if [ "$DIR" == "/etc/dhcp" ]; then
echo $DIR
break
fi
done
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果我break在fi它之后使用它不会产生理想的结果。
那个脚本和这个脚本有什么区别?
for DIR in /etc/*; do
if [ "$DIR" == "/etc/dhcp" ]; then
echo $DIR
fi
break
done
Run Code Online (Sandbox Code Playgroud) command-line ×9
bash ×6
scripts ×4
filesystem ×2
grep ×2
regex ×2
18.04 ×1
20.04 ×1
batch ×1
batch-rename ×1
boot ×1
dual-boot ×1
hidden-files ×1
mount ×1
mv ×1
partitioning ×1
password ×1
rsync ×1
virtualbox ×1