小编Kha*_*eal的帖子

删除时间戳早于x天的所有行

我想从数据库中的特定表中删除时间戳超过180天的所有行.

我试过这个:

DELETE FROM on_search WHERE search_date < DATE_SUB(NOW(), INTERVAL 180 DAY);
Run Code Online (Sandbox Code Playgroud)

但是删除了所有行,而不仅仅是超过6个月的行.

我在on_search表中有一个名为search_date的列,其中包含创建该行的时间.

search_id   search_term    search_date 
660779      car games      1390052553 
Run Code Online (Sandbox Code Playgroud)

mysql sql-delete

44
推荐指数
2
解决办法
8万
查看次数

bash:读取行并保留空格

我试图从包含多行的文件中读取行.我想识别只包含空格的行.根据定义,空行为空,不包含任何内容(包括空格).我想检测似乎是空的行,但它们不是(仅包含空格的行)

    while read line; do
        if [[ `echo "$line" | wc -w` == 0 && `echo "$line" | wc -c` > 1 ]];
        then
             echo "Fake empty line detected"
        fi
    done < "$1"
Run Code Online (Sandbox Code Playgroud)

但是因为read忽略了字符串开头和结尾的空格,我的代码无效.

一个文件的例子

hi
 hi
(empty line, no spaces or any other char)
hi
  (two spaces)
hey
Run Code Online (Sandbox Code Playgroud)

请帮我修复代码

bash space

4
推荐指数
1
解决办法
3614
查看次数

Bash替换特定条件为真的字符串

我试图在同一行中替换特定条件为真的字符串

我有一些文件有一些行.我在用另一个单词(word3)开头的每一行中用另一个单词(word1)替换一个单词(word1)

例如:

foo moo see
kaa haa qee
foo dee see
uuu ooo rrr
foo dee laa
Run Code Online (Sandbox Code Playgroud)

我想在以"foo"开头的每一行中用"raa"替换"see"这个词.这样做会导致线条如下:

foo moo raa
kaa haa qee
foo dee raa
uuu ooo rrr
foo dee laa
Run Code Online (Sandbox Code Playgroud)

有人告诉我,我可以使用sed做到这一点,但我不知道如何做到这一点.

请帮忙!(仅限sed)

bash shell replace sed

1
推荐指数
1
解决办法
1990
查看次数

检查字符串是否仅包含字符和下划线

我想从用户那里收到一个字符串(一个单词),它应该通过以下标准:字符串可能只包含字母字符(aA-zZ)和下划线.不允许任何其他数字.我怎么能用bash做到这一点?

string bash character

-1
推荐指数
1
解决办法
1万
查看次数

标签 统计

bash ×3

character ×1

mysql ×1

replace ×1

sed ×1

shell ×1

space ×1

sql-delete ×1

string ×1