当我echo * 得到以下输出时:
file1 file2 file3 ...
Run Code Online (Sandbox Code Playgroud)
我想要的是挑出第一个词。我该如何继续?
当我在控制台中执行“树”命令时,这就是我所得到的:
.
??? Annexe\ 1\ -\ Sch\303\251ma\ global\ de\ la\ base\ de\ donn\303\251es.raw
...
Run Code Online (Sandbox Code Playgroud)
结果由 utf-8 序列组成,我需要以人类可读的形式获取报告的字符串。我怎样才能转换那个讨厌的东西?
我想复制整个文件结构(包含数千个文件和数百个目录),它是一个目录层次结构,并且我想从复制过程中排除那些node_modules目录。
是否有 Unix 命令从目录及其所有文件和子目录递归复制,并带有一个选项,表示不包含名称为 的目录<name>?
就像是 :
cp root/ rootCopy/ --except node_modules
Run Code Online (Sandbox Code Playgroud)
?
如果没有,是否有一种简单的方法可以从命令行执行此操作而无需编写 bash 或其他内容?
我有一组这样的图像:
01-12_13:20:12_1366x768.png 01-12_13:20:46_1366x768.png 01-12_13:21:01_1366x768.png 01-12_13:21:06_1366x768.png
01-12_13:20:40_1366x768.png 01-12_13:20:47_1366x768.png 01-12_13:21:02_1366x768.png 01-12_13:21:07_1366x768.png
01-12_13:20:42_1366x768.png 01-12_13:20:49_1366x768.png 01-12_13:21:03_1366x768.png 01-12_13:21:08_1366x768.png
01-12_13:20:44_1366x768.png 01-12_13:20:59_1366x768.png 01-12_13:21:04_1366x768.png 01-12_13:21:10_1366x768.png
01-12_13:20:45_1366x768.png 01-12_13:21:00_1366x768.png 01-12_13:21:05_1366x768.png
Run Code Online (Sandbox Code Playgroud)
我需要将每个替换:为_. 我怎样才能使用 bash 命令做到这一点?
(note : i love when everything is compact and one-lined)
我在循环中使用 Here Document 变量时遇到问题。因为这有效
while IFS= read -r line; do
echo "(${line})"
done <<EOF
one
two
three
EOF
Run Code Online (Sandbox Code Playgroud)
但这不
foo=<<EOF
one
two
three
EOF
while IFS= read -r line; do
echo "(${line})"
done <<<"$foo"
Run Code Online (Sandbox Code Playgroud)
现在我在 bash 脚本方面有点菜鸟。除了我头上有问号之外,我想知道如何保留第二种语法(脚本顶部的 here 文档)并仍然使其以某种方式工作。
谢谢你的帮助。