试图实现以下目标困扰我的想法:
将Unix cal输出转换为乳胶表代码,使用短而甜的单行(或几行).
例如cal -h 02 2012 | $magicline应该屈服
Mo &Tu &We &Th &Fr \\
& & 1 & 2 & 3 \\
6 & 7 & 8 & 9 &10 \\
13 &14 &15 &16 &17 \\
20 &21 &22 &23 &24 \\
27 &28 & & & \\
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能想出的唯一合理的解决方案是
cal -h | sed -r -e '1d' -e \
's/^(..)?(...)?(...)?(...)?(...)?(...)?(...)?$/\2\t\&\3\t\&\4\t\&\5\t\&\6\t\\\\/'
Run Code Online (Sandbox Code Playgroud)
......我真的很努力.关于它的好处是,它简单易懂,易于理解,它是"不灵活"(它无法应付8周的一周)和一点点冗长.我正在寻找可供学习的替代解决方案;-)
编辑:找到另一个似乎可以接受的
cal -h | tail -n +2 |
perl -ne 'chomp;
$,="\t&";
$\="\t\\\\\n";
$line=$_; …Run Code Online (Sandbox Code Playgroud) 我想非ASCII字符(写0xfe,0xed等),以一个程序的标准输入。
有很多类似的问题,但我没有找到答案,因为:
echo什么的在 OS X¹ 上,您可以测试:
nm - -
Run Code Online (Sandbox Code Playgroud)
我想将目标文件魔术字节(例如0xfeedface)写入nm使用标准输入,以便我可以看到它的行为方式并且可以重新编码。
如果我使用管道,则第二个参数-(即stdin)将永远不会匹配任何字节,因为所有标准输入都将转到第一个。当使用终端而不是管道时,我可以输入Ctrl + D第一个“关闭”,第二个开始读取。
我尝试使用Ctrl + Shift + UOS X 的 Unicode 十六进制输入,但它不起作用——我无法用它写出所需的字符。
我也尝试过使用剪贴板,pbcopy但它无法读取/粘贴非 ASCII 或非 unicode 字符。
我怎样才能实现我的目标?
不要犹豫编辑,因为这是一个难以表达的问题。
¹nm在 linux 上不处理stdin。
我有一个命令来执行一系列命令,这些命令生成可变输出字符串,例如123456. 我想将其通过管道传输到一个sed命令,替换 csv 文件中的已知字符串,如下所示:
Fred,Wilma,Betty,Barney
但是,下面的命令不起作用,并且我没有找到任何其他使用管道值作为替换变量的参考。
如果 csv 中的值是随机顺序的并且我总是想更改第二个值,则此代码如何更改?
示例代码:
find / -iname awk 2>/dev/null | sha256sum | cut -c1-10 > test.txt |
sed -i -e '/Wilma/ r test.txt' -e 's/Wilma//' input.csv
Run Code Online (Sandbox Code Playgroud)
input.csv 的内容应变为:Fred,0d522cd316,Betty,Barney
您好我想使用awk或sed删除CSV文件中的逗号之前的空格空格.示例输入文件将是:
"abcd" ,"test 123"
Run Code Online (Sandbox Code Playgroud)
输出文件:
"abcd","test 123"
Run Code Online (Sandbox Code Playgroud)
只删除逗号前的空格,但不删除单词之间的空格.在unix中寻找修剪功能.请帮忙.非常感谢你.
我想通过下载特定的文件wget,将其作为bash脚本传递,并且一口气也为其提供参数。
就我而言,脚本存储在: https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh
我试过了:
wget -O - https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh | bash
Run Code Online (Sandbox Code Playgroud)
但结尾为:
Error: you need to provide a host and port to test.
Usage:
bash host:port [-s] [-t timeout] [-- command args]
-h HOST | --host=HOST Host or IP under test
-p PORT | --port=PORT TCP port under test
Alternatively, you specify the host and port as host:port
-s | --strict Only execute subcommand if the test succeeds
-q | --quiet Don't output any status messages
-t …Run Code Online (Sandbox Code Playgroud) 目的是在字典中创建一个Forth单词,然后打印出该单词的内存内容。第一步很容易。这个: main词的创建方法与教程中所述相同。创建单词后,字典指针将移至下一个位置,因此我必须从中减去一些项目,现在可以转储创建单词的内存区域了:
\ create a dummy routine
: main 1 dup + . ;
\ put dictionary pointer to the stack
\ and subtract 50 indizies
dp 50 -
\ print out 20 cells to the screen from dp-50 until dp+50
\ but where is my newly created routine ": main"?
100 dump
bye
------
gforth "a.fs"
7F81DF443FC6: 00 00 20 17 12 AF 60 55 - 00 00 04 00 00 00 00 00 .. ...`U........
7F81DF443FD6: …Run Code Online (Sandbox Code Playgroud) for ((i=0; i<lenPT; i++)) do
if [[ $(($lenPT % 2)) == 0]] then
P[i] = "$((K [0] * arrT[i] + K[2] * arrT[i+1]))"
else
P[i] = "$((K[1]*arrT[i-1]+K[3]*arrT[i]))"
fi
done
Run Code Online (Sandbox Code Playgroud)
我收到错误消息,说“条件表达式中的语法错误”和“'then' 附近的语法错误”。我的条件语句有什么错误?
我有这样的事情:
dbs=$(mongo --quiet --eval "db.getMongo().getDBNames()" --host exemple.com | \
grep '"' | tr -d '"' | tr -d ',')
for db in $dbs; do
cols=$(mongo --quiet --eval "print(db.getCollectionNames())" $db \
--host exemple.com | tr ',' ' ')
for col in $cols; do
mongodump --host example.com -q "{_id:{\$gt:$oid}}" \
-d $dbs -c $col --out /data/
done
done
Run Code Online (Sandbox Code Playgroud)
我越来越:
不允许位置参数
如何mongodump在所有数据库中使用所有集合?
在试图找出 Forth 如何管理字典(以及一般内存)时,我遇到了这个页面。熟悉 C 语言后,我对指针的概念没有任何问题,并且我认为我对所有内容的理解都是正确的。然而,在页面的最后有几个练习,在这里我注意到一些奇怪的事情。
练习9.4,假设DATE已被定义为a VARIABLE,询问之间的区别是什么
DATE .
Run Code Online (Sandbox Code Playgroud)
和
' DATE .
Run Code Online (Sandbox Code Playgroud)
练习9.5使用用户变量执行相同的操作BASE。
根据提供的答案,两个短语将给出相同的结果(也带有BASE)。然而,使用Win32Forth尝试此操作,得到的结果相差 4 个字节(1 个单元格)。这是我所做的:
here . 4494668 ok
variable x ok
x . 4494672 ok
' x . 4494668 ok
Run Code Online (Sandbox Code Playgroud)
创建另一个变量会产生类似的结果:
variable y ok
y . 4494680 ok
' y . 4494676 ok
Run Code Online (Sandbox Code Playgroud)
因此,看起来每个变量不仅仅是一个单元格(用于值),而是两个单元格。变量本身指向实际值的存储位置,并检索执行令牌处的内容(使用' x ?)给出0040101F这两个变量。
对于练习 9.5,我的结果是:
base . 195F90 ok
' base …Run Code Online (Sandbox Code Playgroud)