标签: case

将除一个目录之外的所有目录移至另一文件夹(如果存在),保留所有文件

我正在尝试将一些目录从一个位置移动到另一个位置,但我需要将其中一个保留在原处(所有文件都将保留在原处)。我尝试了几件事,但似乎没有任何效果。我已经测试了 DIR_COUNT 的值,它按预期工作。但是,当在条件或 case 语句中使用时,它不会按预期工作。

有条件的

#!/bin/bash
DIR_COUNT=$(find path/to/dir/*[^this_dir_stays_put] -type d -maxdepth 0 | wc -l)
echo $DIR_COUNT
if [[ $DIR_COUNT > 0 ]]
  then
    find path/to/dir/*[^this_dir_stays_put] -type d -maxdepth 0 -exec mv {} new/location \;
    echo "Moving dirs."
  else
    echo "No dirs to move."
fi
Run Code Online (Sandbox Code Playgroud)

案件

#!/bin/bash
DIR_COUNT=$(find path/to/dir/*[^this_dir_stays_put] -type d -maxdepth 0 | wc -l)
echo $DIR_COUNT
case $DIR_COUNT in
  0)
    echo "No dirs to move."
  *)
    echo "Moving dirs."
    find path/to/dir/*[^this_dir_stays_put] -type d -maxdepth 0 -exec mv …
Run Code Online (Sandbox Code Playgroud)

regex bash if-statement case mv

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

PHP中switch case中的Preg_match?

我正在 php 中制作 switch 函数,我想知道是否可以制作这样的情况之一:

switch($message){
        case 'hi':
            $output = $jsonWelcome;
            break;
        case preg_match('/start/', $message):
            $output = $jsonHelp;
            break;
}
Run Code Online (Sandbox Code Playgroud)

我想在 $message 例如:“项目启动”或“启动项目”时执行最后一种情况。我认为这是因为 preg_match 返回 0 或 1。有什么方法可以让这段代码起作用吗?

php case switch-statement preg-match

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

比较 postgres 中的两个列值

我有一个包含以下列和记录的表。我需要比较两列值(ColumnA 和 ColumnB),如果 ColumnB>ColumnA 则将第三列从“N”更新为“Y”

CREATE TABLE Test(ColumnA int,ColumnB int,Result Varchar(2))

INSERT INTO Test values(1,3,'N')
INSERT INTO Test values(2,1,'N')
INSERT INTO Test values(1,5,'N')
INSERT INTO Test values(8,7,'N')
Run Code Online (Sandbox Code Playgroud)

我需要更新第一行和第三行的 Result Column='Y' 因为 columnB>ColumnA

结果

ColumnA   ColumnB Result
1          3      Y
2          1      N
1          5      Y
8          7      N
Run Code Online (Sandbox Code Playgroud)

sql case sql-update postgresql-9.1

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

SQLITE - 如果一列为空,则另一列中的值为 0

我的表中有两列。表名是用inner join和group by构造的,我们称这个表为Joined。它有两列PresentScore。如果Present为 null,那么我想将 0 赋给该Score值。

+------------+--------+-------------+------------+--------+
| Student_Id | Course | ExamDate    |  Present   | Score  |
+------------+--------+-------------+------------+--------+
|       1    | Math   | 04/05/2020  | Yes        | 45     |
|       2    | Math   | 04/05/2020  | NULL       | 90     |
|       2    | Math   | 04/05/2020  | NULL       | 50     |                     
+------------+--------+-------------+------------+--------+
Run Code Online (Sandbox Code Playgroud)

我现在所拥有的是

SELECT DISTINCT StudentID ,Course, ExamDate, Present, Score
CASE Present ISNULL
Score = 0
END
    FROM Joined …
Run Code Online (Sandbox Code Playgroud)

sql sqlite case sql-null

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

提取 Scala 案例类值

我的 Scala 项目具有以下特征

sealed trait Value
case class Float(f: Double) extends Value
case class Bool(b: Boolean) extends Value
case object Error extends Value
Run Code Online (Sandbox Code Playgroud)

后来我有了价值lst: List[Value]

我正在尝试获取列表中第一个元素的值,lst.head.f但出现以下错误Cannot resolve symbol f

从我从类似主题的其他堆栈溢出问题中收集的信息来看,它应该可以工作,但事实并非如此。

scala class case traits pattern-matching

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

我可以在 Bash case 语句中使用函数作为测试吗?

我可以在像这样的 bash 语句中使用函数而不是常规模式、字符串等吗case

#!/bin/bash

var="1"

is_one () {
[$var -eq 1]
}

case $var in

    is_one) 
    "var is one"
    ;;
    
    *) 
    "var is not one"
    break
    ;;
    
esac
Run Code Online (Sandbox Code Playgroud)

bash case

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

有没有办法让一个选项可以在 switch 语句中运行所有以前的情况?

例如,如果用户选择选项 1 - 3,它会执行他们自己的特定任务。如果用户输入 4,它会执行所有选项 1 - 3。有没有办法使用 switch 语句来完成此操作,而不必复制和粘贴每种情况下的所有代码?

switch (option) {
    case 1: {
        System.out.println("1");
        break;
    }
    case 2: {
        System.out.println("2");
        break;
    }
    case 3: {
        System.out.println("3");
        break;
    }
    case 4: {
        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        break;
    }
    default: {
        System.out.print("Invalid selection.");
        break;
    }
}
Run Code Online (Sandbox Code Playgroud)

java case switch-statement option

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

根据r中的多个条件创建新列

我有一个数据框,我想根据数据框中的其他现有列(“th”和“br”)创建一个新列(“path”)。如果“th”中的值为“NA”,我想根据列“ce”和“br”创建新列。

可以使用以下代码创建可重现的数据样本:

df <- structure(list(
  th = c(3, 1, NA, 2, 2, 0, 3, 3, 0, 2, 3, 2, 1, NA, 3, 4, 3, 3, 1, 3), 
  br = c(1, 2, 4, 1, 2, 2, 1, 2, 2, 5, 4, 1, 1, 2, 1, 5, 2, 1, 1, 1), 
  ce = c(2, 3, 2, 0, 1, 0, 2, 1, 1, 1, 1, 0, 0, 1, 2, 0, 0, 1, 1, 2)), 
  row.names = c(NA, 20L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

我用 if …

if-statement r case

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

PostgreSQL:从跨列比较中排除空值

想象一下这张表:

id   col1    col2    col3    col4
1    A       A       C
2            B       B       B
3    D               D
Run Code Online (Sandbox Code Playgroud)

我想添加一列来告诉我该行的所有非空值是否匹配。

所以理想的输出是:

id   col1    col2    col3    col4   is_a_match
1    A       A       C              FALSE
2            B       B       B      TRUE
3    D               D              TRUE
Run Code Online (Sandbox Code Playgroud)

我努力了:

select *,
     case  
         when col1 = col2
                and col2 = col3
                and col3 = col4
         then 'TRUE'
         else 'FALSE'
     end as is_a_match
from my_table
Run Code Online (Sandbox Code Playgroud)

false但由于空值,将返回所有内容。

实现上述输出的最佳方法是什么?

sql postgresql null boolean-logic case

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

没有 null 值的 Case 语句

我正在尝试比较同比数据,并且正在尝试使用案例语句以便按年份分割。我一直在尝试做的是

(Case
When year(date) = 2010 Then 'sales year 2010'
When year(date) = 2011 Then 'sales year 2011'
Else 
End) as Year 
Run Code Online (Sandbox Code Playgroud)

但上面的方法不起作用,因为我想按列获取每年的数据,而不是同一列下的行。

所以,接下来我尝试的是

(Case
When year(date) = 2010 Then sum(sales) End) as 'sales year 2010', 
(Case
When year(date) = 2011 Then sum(sales) End) as 'sales year 2011' 
Run Code Online (Sandbox Code Playgroud)

我得到了以下内容。

物品 2010年销售年度 2011年销售年度
A 无效的 2,500 人
A 5,000 无效的
无效的 200
7,000 无效的
C 无效的 2,500 人
C 5,000 无效的
D 无效的 200
D 7,000 无效的

我想要得到的是这个。

物品 …

sql sql-server case

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